刚做一个简单的减法运算,如题
开始很所以然的认为等于0.0001,结果确不是
<?php
echo 1.0001 - 1; //结果等于:9.9999999999989E-5,我和我的小伙伴们都惊呆了。。。
?>
小数位的减法都是这样吗?当保留两位小数时,结果还是我们正常想像的那样。
<?php
echo 1.01 - 1; //结果等于:0.01
?>
那如果要进行如题的运算,该怎么办呢?php手册中有专门的方法bcsub
<?php
echo bcsub(1.0001 , 1, 4); //结果就等于:0.0001了。注意:后面的4,保留4位小数不能少。要不结果也就不对了
?>
这里再提一点,再大一些的运算如14位以上的运算,这个方法也就不能用了
<?php
echo bcsub(98765432101234 , 12345678901234); //14位运算结果等于:86419753200000
echo bcsub(987654321012345 , 123456789012345); //15位运算结果等于:0
?>
最后,大家算钱的时候一定要注意了。不要到时候就悲剧了。
分享到:
相关推荐
易语言源码易语言用长整数模拟十进制小数运算源码.rar 易语言源码易语言用长整数模拟十进制小数运算源码.rar 易语言源码易语言用长整数模拟十进制小数运算源码.rar 易语言源码易语言用长整数模拟十进制小数运算...
小数运算定律.pdf
小数加减混合运算----小数连加竖式计算.pdf
KeilC-51下快速小数运算算法.PDF
1025:保留12位小数的浮点数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 27948 通过数: 24399 【题目描述】 读入一个双精度浮点数,保留12位小数,输出这个浮点数。 【输入】 只有一行,一个双精度浮点数。 ...
保留一位小数(1).cpp
四年级数学小数加减法练习题集-四下数学小数加减法.doc
补码运算中两补码数相加采用1位符号位当时表示结果溢出 <-A.->符号位有进位 <-B.->符号位进位和数值最高位进位异或结果为0 <-C.->符号位为1 <-D.->符号位进位和数值最高位进位异或结果为1 【-参考.选择-】:D 6.假设...
四年级下册小数简便运算.doc
小数混合运算.doc
1-1.约瑟夫问题.cpp 1-2.验证表.cpp 1-3.循环小数.cpp 2-1.双向约瑟夫问题.cpp 2-2.综教楼后的那个坑.cpp 2-3.孤独的运货员.cpp 2-4.一元多项式相加.cpp 2-5.一元多项式相乘.cpp 3-1.括号匹配.cpp 3-2.出栈序列.cpp ...
小数四则混合运算教案.pdf
数学教案-整数 小数四则混合运算-教学教案.docx
小学小数混合运算.doc
新北师大版四年级下册小数简便运算.doc