$a = 0.58;
var_dump(intval($a * 100));
WTF!输出了57 ???好吧,别的不说,直接上解决办法
解决办法1:
$a = 0.58;
var_dump(intval(round($a * 100)))
不够高级呀!!!
来来来~~~
解决办法2:
$a = 0.58;
var_dump(bcmul($a, 100, 0));
PHP bc函数拓展:
转载自:https://blog.csdn.net/phpfenghuo/article/details/46369569 谢谢
<?php
***************************************************************************************
*php BC高精确度函数库
*php bc math 包含了:相加,比较,相除,相减,求余,相乘,n次方,配置默认小数点数目,求平方
*这些函数在涉及到有关金钱的计算时比较有用
****************************************************************************************
***************************************************************************************
*两个高精度数比较
*工作中遇到一种情况,0.00 != 0
*int bccomp ( string $left_operand , string $right_operand [, int $scale ] )
*$left=$right 返回 0
*$left<$right 返回 -1
*$left>$right 返回 1
*$scale 小数点位数
***********************************<