日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

delphi 四舍五入Round函数【百帖整理】

發布時間:2023/12/15 综合教程 51 生活家
生活随笔 收集整理的這篇文章主要介紹了 delphi 四舍五入Round函数【百帖整理】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在最近版本的Delphi Pascal 編譯器中,Round 函數是以 CPU 的 FPU (浮點部件) 處理器為基礎的。這種處理器采用了所謂的 "銀行家舍入法",即對中間值 (如 5.5、6.5) 實施Round函數時,處理器根據小數點前數字的奇、偶性來確定舍入與否,如 5.5 Round 結果為 6,而 6.5 Round 結果也為6, 因為 6 是偶數。

對于XXX.5的情況,整數部分是奇數,那么會Round Up,偶數會Round Down,例如:

x:= Round(17.5) = x = 18

x:= Round(12.5) = x = 12

一、四舍五入法
四舍五入是一種應用非常廣泛的近似計算方法,其有算術舍入法和銀行家舍入法兩種。
所謂算術舍入法,就是我們通常意義上的四舍五入法。其規則是:當舍去位的數值大于等于5時,在舍去該位的同時向前位進一;當舍去位的數值小于5時,則直接舍去該位。


所謂銀行家舍入法,其實質是一種四舍六入五留雙(又稱四舍六入五奇偶)法。其規則是:當舍去位的數值小于5時,直接舍去該位;當舍去位的數值大于等于6
時,在舍去該位的同時向前位進一;當舍去位的數值等于5時,如果前位數值為奇,則在舍去該位的同時向前位進一,如果前位數值為偶,則直接舍去該位。
綜上所述,兩種舍入法所得結果不盡一致,因此在使用時必須根據實際需要加以區別。否則會出現一些莫明其妙的偏差。
二、Delphi中的四舍五入函數


眾所周知,Delphi中有一個四舍五入取整函數Round。但它是按銀行家舍入法的規則實施舍入操作的,Delphi中沒有按算術舍入法規則實施舍入操
作的四舍五入取整函數。為此,本人編寫了一個基于算術舍入法的四舍五入取整函數RoundEx作為對Delphi的補充。具體實現如下:

function RoundClassic(R: Real): Int64; 
begin 
  Result:= Trunc(R); 
  if Frac(R) >= 0.5 then 
    Result:= Result + 1; 
end; 

-------------------------

世界上的許多國家已廣泛采用“四舍六入法”。我國國家科委于1955年就作了推薦。“四舍 六入法”可以概括為:“四舍六入五考慮,五后非零就進一,五后皆零看奇偶,五前為偶應舍 去,五前為奇要進一。”

好像短一點的口訣叫“四舍、六入、五湊偶”

據說歐洲銀行全采用這個模式

這個都不知道,四舍六入五成雙,Round都是這樣處理的。

我也遇到過這個問題,起初也很奇怪,后來看了幫助,果然是四舍六入五靠偶,雖然樓上的所說的四舍六入是國際標準,但是中國的很多業務系統還是采取的是四舍 五入的方法,沒辦法,我只好自己寫了個方法來四舍五入了。不過網上有一個不錯的方法,雖然有取巧嫌疑,但是一般沒什么問題,就是在后面加上 0.0000000001,很小的一個數,這時再來取兩位,三位或四位就基本沒問題了。可以試試

四舍六入五成雙,是為了使大量數據求平均值更加精確

俺也是今天才發現“四舍、六入、五湊偶”,感謝有心的樓

“四舍、六入、五湊偶”比較經典哎~~

總結

以上是生活随笔為你收集整理的delphi 四舍五入Round函数【百帖整理】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。