[size=medium]
剛做乙個簡單的減法運算,如題
開始很所以然的認為等於0.0001,結果確不是
[/size]
<?php
echo 1.0001 - 1; //結果等於:9.9999999999989e-5,我和我的小夥伴們都驚呆了。。。
?>
[size=medium]
[b]小數字的減法都是這樣嗎?[/b]當保留兩位小數時,結果還是我們正常想像的那樣。
[/size]
<?php
echo 1.01 - 1; //結果等於:0.01
?>
[size=medium]
[b]那如果要進行如題的運算,該怎麼辦呢?[/b]php手冊中有專門的方法bcsub
[/size]
<?php
echo bcsub(1.0001 , 1, 4); //結果就等於:0.0001了。注意:後面的4,保留4位小數不能少。要不結果也就不對了
?>
[size=medium]
[b]這裡再提一點,再大一些的運算如14位以上的運算,這個方法也就不能用了[/b]
[/size]
<?php
echo bcsub(98765432101234 , 12345678901234); //14位運算結果等於:86419753200000
echo bcsub(987654321012345 , 123456789012345); //15位運算結果等於:0
?>
最後,大家算錢的時候一定要注意了。不要到時候就悲劇了。
將運算結果僅保留兩位小數
假如在一次運算中,要求得到的結果保留兩位小數,而實際運算的結果不是兩位小數,那麼 用一下三種方法之一均可將結果保留成兩位小數 假設num為及運算結果 非兩位小數 1.string.format 方法 2f system.out.print string.format 2f num 2.decimal...
四捨五入保留兩位小數
1.double x2 0.5698 system.out.println string.format 2f x1 2.以指定的捨入模式格式化雙精度浮點型小數 param d 需格式化小數 param precision 保留小數字數 param roundingmode 捨入模式 return p...
js四捨五入保留兩位小數(可完全保留兩位)
四捨五入保留2位小數 若第二位小數為0,則保留一位小數 function keeptwodecimal num var result parsefloat num if isnan result alert 傳遞引數錯誤,請檢查!return false result math.round num ...