round 函式是銀行用的 採用了 四捨六入5留偶
網上找到了個實現方法 先乘1000,用trunc取整,除10取餘,餘數再取整,如果大於5,進製,小於5不進製。
函式就好寫了 現在只寫乙個保留兩個小數的例子 用到的可以擴充套件一下
/// //
/ 四捨五入
///
/// 值
/// 結果四捨五入保留兩位小數
function
tfrmcaigouhuajiadan.getround(ivalue: double): double;
varitemp: integer;
imod: integer;
begin
//先乘1000,用trunc取整,除10取餘,餘數再取整,如果大於5,進製,小於5不進製。
itemp := trunc(ivalue * 1000
); imod := itemp mod10;
if trunc(imod) >= 5
then
result := (trunc(ivalue * 100) + 1) / 100
else
result := trunc(ivalue * 100) / 100
;end;
關於四捨五入
四捨五入 轉http nssoft.showdoc.asp?did 267 delphi的四捨五入函式round,對於 5的情況,整數部分是奇數,那麼會round up,偶數會round down,例如 x round 17.5 x 18 x round 12.5 x 12 請使用下面的函式代替ro...
Delphi的四捨五入函式
小中 大一 四捨五入法 四捨五入是一種應用非常廣泛的近似計算方法,其有算術捨入法和銀行家捨入法兩種。所謂算術捨入法,就是我們通常意義上的四捨五入法。其規則是 當捨去位的數值大於等於5時,在捨去該位的同時向前位進一 當捨去位的數值小於5時,則直接捨去該位。所 謂銀行家捨入法,其實質是一種四捨六入五留雙...
Delphi的四捨五入函式
一 四捨五入法 四捨五入是一種應用非常廣泛的近似計算方法,其有算術捨入法和銀行家捨入法兩種。所謂算術捨入法,就是我們通常意義上的四捨五入法。其規則是 當捨去位的數值大於等於5時,在捨去該位的同時向前位進一 當捨去位的數值小於5時,則直接捨去該位。所謂銀行家捨入法,其實質是一種四捨六入五留雙 又稱四捨...