PHP浮点型在进行+-*%/存在不准确的问题
用php的+-*/计算浮点数的时候,可能会遇到一些计算结果错误的问题,比如echo intval( 0.58*100 );会打印57,而不是58,这个其实是计算机底层二进制无法精确表示浮点数的一个bug,是跨语言的。所以基本上大部分语言都供了精准计算的类库或函数库,比如php有BC高精确度函数库。
要搞明白这个原因, 首先我们要知道浮点数的表示(IEEE 754):
浮点数, 以64位的长度(
原创
2018-01-02 11:55:20 ·
427 阅读 ·
0 评论