草庐IT

floating-point-conversion

全部标签

php - is_numeric() 与 is_float() 与 is_int()

我的理解是...如果is_numeric($input)===true然后要么is_float($input)===true或is_int($input)===true或$input===0或$input是一个数字字符串(这意味着如果它没有用引号括起来,它将满足前3个中的一个)。这是准确的吗?还有其他区别吗? 最佳答案 请参阅关于is_numeric的PHP文档.它讨论了所有允许的事情,而且不仅仅是is_float和is_int。同样重要的是要注意is_int仅适用于整数类型的事物,这意味着不允许使用字符串表示形式。这是验证表单输入

php - 比较 float - 相同的数字,但不相等?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:HowshouldIdofloatingpointcomparison?phpintegerandfloatcomparisonmismatch关于电子商务,我有两个变量,$_REQUEST['amount']和$carttotal。在尝试处理付款时,它们当然应该匹配,以防止在最后一刻手动覆盖付款金额,或者当然是计算错误。但是:$carttotal=$carttotal*1;$_REQUEST['amount']=$_REQUEST['amount']*1;if($carttotal!=$_REQUEST['

php - 带有 css float 的 DOMPDF

我不确定为什么,但html页面显示得很好,但dompdf不使用float。代码有2300多行,所以在这里发布太长了……但它都是内联css。我试过将css包装在样式标签中并内联,但没有成功。这是html页面http://www.ems-complete.com/ccems/ccems_reports/daily_vehicle_check_sheet.php?id=5这是dompdf链接http://www.ems-complete.com/ccems/ccems_reports/form_daily_vehicle_check.php?id=5我不确定为什么,但是html页面显示得很好

php - 将 int 转换为 float/double

这个问题在这里已经有了答案:PHP-Forceintegerconversiontofloatwiththreedecimals(1个回答)关闭8年前。当我想将integer值转换为float(带点的数字)时遇到了麻烦。$a=7200;$b=$a/3600;echo$b;//2$b=floatval($b);echo$b;//2但它应该回显2.0或2.00我也尝试过settype,但没有成功。我只找到“floattoint”的帮助/解决方案/问题。 最佳答案 已更新:使用echosprintf("%.2f",$b);//return

PHP 将字符串转换为 float / double

我有字符串列表(以字节为单位),我从文件中读取它们。假设其中一个字符串是2968789218,但是当我将其转换为float时,它变为2.00。到目前为止,这是我的代码:$string="2968789218";$float=(float)$string;//$float=floatval($string);//theresultissame//result2.00有人吗?已解决问题实际上是编码。现在当我更改文件编码时就可以了:D 最佳答案 令人惊讶的是,没有公认的答案。该问题仅存在于32位PHP中。来自documentation,I

php float 计算2位小数

有一道数学计算题。$a=34.56$b=34.55$a做一些计算得到这个数字$b正在四舍五入到最接近的0.05以获得这个数字发生了什么$c=$b-$a应该是-0.01,但是我回显了$c,它显示了-0.00988888888888我尝试使用number_format($c,2),但是输出是0.00,如何确保$a和$b正好是2位小数,后面没有隐藏数字。在我的php知识中,number_format只能格式化显示,但值并不是真正的2位小数,我希望我能从这里得到帮助。这让我很沮丧。 最佳答案 试试sprintf("%.2f",$c);flo

php - 在php中将float转换为字符串?

喜欢:float(1.2345678901235E+19)=>string(20)"12345678901234567890"可以吗?(用于json_decode...) 最佳答案 echonumber_format($float,0,'.','');注意:这是整数,小数加0 关于php-在php中将float转换为字符串?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6876

PHP 正则表达式 - 有效的 float

我希望用户只输入0-9并且只输入一次“。”patt=/[^0-9(.{1})]/1.2222->true1.2.2->false(onlyonce'.')帮帮我,谢谢! 最佳答案 /^-?(?:\d+|\d*\.\d+)$/这匹配普通的float,例如3.14,仅用于小数部分的简写,例如.5和整数,例如9以及负数。 关于PHP正则表达式-有效的float,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

php - 如果处理 float 的钱很糟糕,那么为什么 money_format() 会这样做呢?

我一直在思考如何在PHP中处理货币显示和数学运算,并且很长一段时间以来一直使用DECIMAL类型将其存储在MySQL中,并使用money_format()对其进行格式化以显示在网页上。然而,今天我看了一下实际的原型(prototype):stringmoney_format(string$format,float$number)我现在有点困惑。我被告知的是,避免为了钱而花车!但这里是基本的格式化函数(比如说快五倍),将输入转换为float。number_format()也是如此。所以我的问题是:除非我正在处理小数美分或数万亿美元(而且我都没有处理),否则我是否应该关心显示和存储(但从不

php - 我怎样才能确保一个 float 总是被 PHP 舍入?

如果存在任何小数,我想确保PHP中的float向上舍入,而不用担心数学舍入规则。此函数的工作方式如下:1.1to21.2to21.9to22.3to32.8to3我知道round()函数存在,但我没有看到任何用于在找到任何小数时四舍五入的函数。有什么简单的方法可以做到这一点吗? 最佳答案 使用ceil功能:$number=ceil(1.1);//2 关于php-我怎样才能确保一个float总是被PHP舍入?,我们在StackOverflow上找到一个类似的问题: