round(函式)

本詞條是多義詞,共3個義項
更多義項 ▼ 收起列表 ▲

round函式是EXCEL中的一個基本函式,作用按指定的位數對數值進行四捨五入,語法是ROUND(number, num_digits)。

Round,VFP,Oracle,MATLAB,EXCEL,

Round

(銀行家捨入)
Round 函式即四捨五入取偶。
Round 函式在MSDN里的中文釋義為四捨五入,這是翻譯時的疏忽。
在 VB,VBScript,C#,J#,T-SQL 中 Round 函式都是採用 Banker's rounding(銀行家捨入)算法,即四捨六入五取偶。事實上這也是 IEEE 規定的捨入標準。因此所有符合 IEEE 標準的語言都應該是採用這一算法的。
為了避免四捨五入規則造成的結果偏高,誤差偏大的現象出現,一般採用四捨六入五留雙規則(Banker's Rounding)。
準確而言,四捨六入五留雙應稱作“四捨六入,逢五無後則留雙”,如此就可以完全覆蓋此規則的詳情。
四捨六入五留雙規則的具體方法是:
(一)當尾數小於或等於4時,直接將尾數捨去。
例如,將下列數字全部修約為四位有效數字,結果為:
  • 0.53664——0.5366
  • 10.2731——10.27
  • 18.5049——18.50
  • 0.58344——0.5834
  • 16.4005——16.40
  • 27.1829——27.18
(二)當尾數大於或等於6時,將尾數捨去並向前一位進位。
例如,將下列數字全部修約為四位有效數字,結果為:
  • 0.53666——0.5367
  • 8.3176——8.318
  • 16.7777——16.78
  • 0.58387——0.5839
  • 10.29501——10.30
  • 21.0191——21.02
(三)當尾數為5,而尾數後面的數字均為0時,應看尾數“5”的前一位:若前一位數字此時為奇數,就應向前進一位;若前一位數字此時為偶數,則應將尾數捨去。數字“0”在此時應被視為偶數。
例如,將下列數字全部修約為四位有效數字,結果為:
  • 0.153050——0.1530
  • 12.6450——12.64
  • 18.2750——18.28
  • 0.153750——0.1538
  • 12.7350——12.74
  • 21.845000——21.84
(四)當尾數為5,而尾數“5”的後面還有任何不是0的數字時,無論前一位在此時為奇數還是偶數,也無論“5”後面不為0的數字在哪一位上,都應向前進一位。
例如,將下列數字全部修約為四位有效數字,結果為:
  • 0.326552——0.3266
  • 12.73507——12.74
  • 21.84502——21.85
  • 12.64501——12.65
  • 18.27509——18.28
  • 38.305000001——38.31
雖然“四捨五入”是中國最早提出的算法,值得我們自豪,但不能因此就認為它始終是先進的。畢竟它已經有近二千年歷史了(大約一千七百多年前,天文學家楊偉就已明確提出了“四捨五入法”)。
四捨五入算法逢五就要進位,帶來的問題就是結果偏大,尤其是在大量的數據統計中。Banker 捨入則在統計機率上解決了這個問題。

VFP

ROUND
四捨五入函式ROUND()
格式:ROUND(<;數值表達式>;,<;有效位數>;)
功能:對<;數值表達式>;的值按指定的<;有效位數>;進行四捨五入。如果<;有效位數>;(用n表示)為正數或零,則對小數點後n+1位進行四捨五入;如果n為負數,則對小數點前n位進行四捨五入。

Oracle

round函式為Oracle中的四捨五入函式。
Round(number,[decimals])
其中:
number 待做四捨五入處理的數值
decimals 指明需保留小數點後面的位數。可選項,忽略它則保留0位小數,精確到個位;為負數,表示為小數點左邊四捨五入處理。
例:
SQL> select round(123.123),
2 round(123.123,2),
3 round(123.16,2),
4 round(123.14,-2),
5 round(163.14,-2)
6 from dual;
ROUND(123.123) ROUND(123.123,2) ROUND(123.16,2) ROUND(123.14,-2) ROUND(163.14,-2)
123 123.12 123.16 100 200

MATLAB

函式簡介
調用格式:Y = round(X)
在matlab中round也是一個四捨五入函式。在matlab的命令視窗中輸入doc round或者help round即可獲得該函式的相關幫助信息。
相關函式:ceil、floor、fix
程式示例
>>a = [-1.9,-0.2,3.4,5.6,7.0,2.4+3.6i]
a =
Columns 1 through 4
-1.9000 -0.2000 3.4000 5.6000
Columns 5 through 6
⒎0000 2.4000 + 3.6000i
>>round(a)
ans =
Columns 1 through 4
-2.0000 0 3.0000 6.0000
Columns 5 through 6
⒎0000 2.0000 + 4.0000i
a =
Columns 1 through 4
-1.9000 -0.2000 3.4000 5.6000
Columns 5 through 6
⒎0000 2.4000 + 3.6000i

EXCEL

ROUND(number,decimals)
number:要捨入的數
decimals:指定的保留小數的位數
decimals的取值可為正數,0,負數。當decimals的值為正數時,針對小數點後的數據進行四捨五入;當decimals的值為0時,返回最接近number的整數;當decimals的值為負數時,針對小數點前的數據進行四捨五入,被舍掉的數據用0占位。
示例:
decimas為正數:
ROUND(123.456,2) 返回結果為:123.46
ROUND(123.456,0) 返回結果為:123
ROUND(123.456,-2) 返回結果為:100

相關詞條

熱門詞條

聯絡我們