浮点数运算问题

直接浮点数运算,会出现计算错误的情况,这不是语言的问题,而是计算机的问题。所以要尽量避免浮动点运算,避免不了要使用数学函数,涉及金钱的的时候,最好使用BCMath。

详情就不说明了,鸟哥有一篇文章说的很明白,下面给出地址,可以去看看。

鸟哥博客:关于浮点数的问题

Math函数地址:Math函数

BCMath地址:任意精度数学

-----------------------------------------------------------------------------------------------------------------------------------------

计算年月的时候,直接取了月份计算,比如01代表1月份,01减去1,结果计算正确,然后到了08-1或者09-1的时候, 就出错了,发现了问题。套用百度百科的一句话:一些编程语言中常常以数字0开始表明该数字是八进制。对,以0开始的代表是八进制,然而八进制只有0至7,没有8和9,所以当然出错啦。其他小伙伴遇到此类的问题时候也应该注意哦

百度百科:八进制说明

$num1 = 01-1;//不出错
$num2 = 02-1;//不出错
$num3 = 03-1;//不出错
$num4 = 04-1;//不出错
$num5 = 05-1;//不出错
$num6 = 06-1;//不出错
$num7 = 07-1;//不出错
$num8 = 08-1;//出错
$num9 = 09-1;//出错

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值