2 回答
![?](http://img1.sycdn.imooc.com/5333a1660001394602000200-100-100.jpg)
TA贡献1862条经验 获得超6个赞
如果这是关于浮点数的问题,则14.1与14.100相同。如果这是关于字符串的问题,那么您应该只使用substr()。在下面的答案中,$number要删减的$precision位数是多少,要保留的小数位数是多少。
$number = (string) $number;
$temp = $precision <= 0 ? 0 : $precision+1;
return substr($number, 0, strrpos($number, '.') + $temp);
![?](http://img1.sycdn.imooc.com/533e4c1500010baf02200220-100-100.jpg)
TA贡献1735条经验 获得超5个赞
为了获得浮点数的前3个子位数而不进行舍入,您必须使用,float($number*1000/1000)然后将其与number_format(float($number*1000/1000),3)
例子
$var =0.35489;
$var2 = number_format(floor($var * 1000) / 1000,3);
echo $var2;
输出
0.354
例子2
$var =0.3000;
$var2 = number_format(floor($var * 1000) / 1000,3);
echo $var2;
输出2
0.300
如果您的精度是可变的,那么您将不得不使用 pow(10,$precision)
范例3
$var =0.3000;
$precision =3;
$var2 = number_format(floor($var * pow(10,$precision)) / pow(10,$precision),3);
输出3
0.300
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报