2014年1月23日 星期四

delphi的四捨五入,無條件進位,無條件捨去,四捨六入

一般都會使用Round 和 RoundTo 這個函數
但是這個函數在Delphi裡指的是四捨六入5成雙
要四捨五入, Delphi 也有, 就是 SimpleRoundTo
不過要注意,使用這個函數必須 use Math

要四捨五入也有別的辦法
浮點數四捨五入
formatfloat('#,##0.##',輸入的數字); // 點## 是要四捨五入到第2位數,輸出為字串

不過這個方式有時不會進位..是formatfloat的bug..最好還是用SimpleRoundTo

 

無條件進位
使用 ceil() 這個函數

無條件捨去
使用 floor() 這個函數

在負數的使用要特別注意,結果跟"正整數"是相反的
floor(3.4)=3  ,  floor(-3.4) = -4
ceil(3.4)=4   ,  ceil(-3.4)= -3

簡單的說, floor() 這個函數是往小的地方靠近為整數,ceil()則相反

1 則留言:

  1. youtube.com/trivago/scoast/scoast/trivago - Vimeo
    Video Tours | youtube to mp3 iphone www.trivago.com | The Spa of the Day | www.youtube.com/trivago.com | The Spa of the Day.

    回覆刪除