php intval 两位小数乘以100后结果少1
2016-09-09 11:42
337 查看
因为工作需要,价格处理的时候往往是两位小数需要换算成分,如:16.33元换算为1633分,直接乘以100也就行了的,但是又使用了一个转换为整数类型的函数
结果:
可以看出原本结果应该是1633的,但是使用了函数
该函数的解决方法手册上也给出了,就是需要先使用
还有就是直接使用类型转换也是不行的,如:
如图:
Author:
本文地址:这里写链接内容
intval()这下子结果就不对了,如图:
结果:
可以看出原本结果应该是1633的,但是使用了函数
intval()之后结果居然变为了1632了,这是由于浮点类型的数字不能在不丢失一点儿精度的情况下通过内部二进制转换得到结果的,换句话说就是浮点类型的计算都会丢失精度的。
该函数的解决方法手册上也给出了,就是需要先使用
strval()函数将变量转成字符串类型,使用情况及结果如下:
还有就是直接使用类型转换也是不行的,如:
(int)($pay_price*100)结果也会损失精度的。
如图:
Author:
leedaning
本文地址:这里写链接内容
相关文章推荐
- php intval 两位小数乘以100后结果少1
- 一个常数N乘以一个数再除以100,结果不产生小数,1—>100中有几个这样的数?
- 如何让excel计算C=A/B结果保留两位小数
- PHP_保留两位小数并且四舍五入_保留两位小数并且不四舍五入
- php保留两位小数并且四舍五入 保留两位小数并且不四舍五入
- PHP_保留两位小数而且四舍五入_保留两位小数而且不四舍五入
- PHP_保留两位小数并且四舍五入_保留两位小数并且不四舍五入_取整
- 正则表达式来判断输入0-100的数字,保留两位小数方法的两种方法
- php保留两位小数,四舍五入与否
- 为什么php中echo intval((0.1+0.7)*10) 结果为7而不是8?
- JAVA 除法结果保留两位小数
- PHP_保留两位小数并且四舍五入_保留两位小数并且不四舍五入
- PHP保留两位小数
- js小数精确处理以两位(100)小数为例
- PHP保留两位小数但不四舍五入
- PHP_保留两位小数并且四舍五入(可用于精度计算)_保留两位小数并且不四舍五入,
- excel横向纵向求和结果(均保留两位小数)相差1分的问题
- php intval() 小数时安全漏洞分析
- 最多两位小数,如123.45的转换结果为:壹百贰拾叁元肆角伍分
- 【转】php保留两位小数