round
語法:round ( numeric_expression , length [ ,function ] )
那麼用到四捨五入並且保留小數點時我們肯定會首選round函式, 如果欄位的資料型別是decimal(18,10)時那麼四捨五入後還會有很多0出現。
引數說明:
numeric_expression
是精確或近似數值資料型別類別(bit 資料型別除外)的表示式 。
length
它是 numeric_expression 的捨入精度 。 length 必須是 tinyint、smallint 或 int 型別的表示式 。如果 length 為正數,則將 numeric_expression 捨入到 length 指定的小數字數 。 如果 length 為負數,則將 numeric_expression 小數點左邊部分捨入到 length 指定的長度 。
函式
要執行的操作的型別。 function 的資料型別必須是 tinyint、smallint 或 int 。如果 function 省略或其值為 0(預設值),則對 numeric_expression 進行捨入。 如果指定了 0 以外的值,則將截斷 numeric_expression 。
在微軟中查詢時注意一點:
round 始終返回乙個值。 如果 length 為負數,並且大於小數點前的數字個數,則 round 將返回 0 。
例 :
round(748.58, -4)
結果 :0
round(748.58, -2)
結果:700.00
示例結果
round(748.58, -1)
750.00
round(748.58, -2)
700.00
round(748.58, -3)
導致算術溢位,因為 748.58 預設為 decimal(5,2),它無法返回 1000.00。
在查詢 管理器中的反饋為:將 expression 轉換為資料型別 numeric 時出現算術溢位錯誤。
以下示例顯示了兩個表示式,闡釋使用了round
後,最後一位數將始終為估計值。
複製
select round(123.9994, 3), round(123.9995, 3);
go
下面是結果集:
複製
----------- -----------
123.9990 124.0000
以下示例顯示捨入和近似值。
複製
select round(123.4545, 2), round(123.45, -2);
下面是結果集:
複製
---------- ----------
123.4500 100.00
以下示例使用了兩個select
語句,用於闡釋捨入和截斷之間的區別。 第乙個語句捨入結果。 第二個語句截斷結果。
複製
select round(150.75, 0);
go
select round(150.75, 0, 1);
go
下面是結果集:
複製
--------
151.00
(1 row(s) affected)
--------
150.00
(1 row(s) affected)
numpy保留小數字數
import numpy as np n 2data numpy.around a,n 保留2位小數,n為3,則保留3位小數。預設保留整數,計算方法是四捨五入。這裡是一些例子 import numpy as np np.around 0.37,1.64 array 0.2.np.around 0.3...
C 保留小數字數的方法集錦
1.system.globalization.numberformatinfo provider new system.globalization.numberformatinfo provider.numberdecimaldigits intdeclength 要設定的小數字數 double s...
C 保留小數字數的方法集錦
c 保留小數字數的方法集錦 1.system.globalization.numberformatinfo provider new system.globalization.numberformatinfo provider.numberdecimaldigits intdeclength 要設定...