JavaScript语言
然而,当它
JavaScript代码:
var item = 25.00;
var postage = 24.99;
((item + postage) * 100) // 4998.999999999999
希望
49.99
((item + postage) * 100).toFixed(0) // 4999 (string)
为了更好的衡量,我把它改为:
provideFloat((book_price + shipping_cost) * 100).toFixed(0)) // 4999 (float)
function provideFloat(num) {
return parseFloat(num.replace(/,/g, ''));
}
PHP端的这个数字是为了看它们是否匹配,所以我尝试了这个(例如):
菲律宾比索:
$item = 25.00;
$postage = 24.99;
echo ((item + $postage) * 100); // 4999
4998.999999999999
?
similar approach
JS在他们的
toFixed
功能,具有:
$number = (($item + $postage) * 100);
$expo = pow(10,0);
$number = intval($number * $expo) / $expo;
echo $number; // 4998
…我得到了
4998
而JS得到了
4999
4999
…或者你必须走这样的极端?
$res = (($item + $postage) * 100);
$res = (float) number_format($res, 0, '.','');
echo $res; // 4999
我的用例是我需要将浮点数(美元)转换成美分,然后从客户端到服务器端进行比较。