下面的sprinf行爲很奇怪。PHP sprintf('%d',floatval('16 .40')* 100)輸出1639?
// The code below outputs 1639
$value = floatval('16.40') * 100;
echo sprintf('%d', $value);
但是當我使用它%f
輸出1640.000000
我甩了$value
,這絕對是float(1640)
。
有沒有人知道當我使用%d
時發生了什麼?這是一個PHP錯誤?我已經在PHP7中測試過了。
[PHP - 浮點數精度]的可能重複(https://stackoverflow.com/questions/3726721/php-floating-number-precision) –