[VB.Net]取小數點X位數、無條件捨去
取小數點幾位數,這個比較簡單也比較常用
使用Format函式
Dim number As Double = 1234.56789 MsgBox(Format(number, "##.##"))
上列顯示出來的結果會是1234.57
表示說小數點後面的位數會依照規定取兩位數並做四捨五入的運算,而整數部分則有多少跑多少
但是又會出現一個Bug
Dim number As Double = 0.56789 MsgBox(Format(number, "##.##"))
此時結果會是.57,而非0.57。
所以在此要修正成下列程式碼
Dim number As Double = 0.56789 MsgBox(Format(number, "0.##"))
上面的程式碼當寫Format(number, "0#.##")整數部分最小會是兩位,不足兩位的會補0。
==========================================================================================
接下來講無條件捨去,目前我會用的方法
若要取小數兩位,則先乘上100然後取整數,在除100。這樣除完後會剛好小數點兩位,而沒有其他餘數。
VB.Net取整數的函式為Fix
Dim number As Double = 1234.5678 MsgBox(Fix(number * 100) / 100)
這樣產生出來的結果為1234.56
留言
張貼留言