2 回答

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);

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 關注
- 159 瀏覽
添加回答
舉報