python中的round函式不能直接拿來四捨五入,一種替代方式是使用decimal.quantize()函式。
具體內容待補。
>>> round(2.675, 2)2.67
可以傳遞給decimal整型或者字串引數,但不能是浮點資料,因為浮點資料本身就不準確。
1#-*- coding: utf-8 -*-
2from decimal import
decimal, round_half_up34
5class
numberutil(object):
6@staticmethod
7def
_round_by_decimal(number, quantize_exp):
8 str_num =str(number)
9 dec_num = decimal(str_num).quantize(quantize_exp, rounding=round_half_up)
10return
float(dec_num)
1112
@staticmethod
13def
round_2_digits_by_decimal(number):
14return numberutil._round_by_decimal(number, decimal('
0.01'))
1516
@staticmethod
17def
round_4_digits_by_decimal(number):
18return numberutil._round_by_decimal(number, decimal('
0.0001
'))
oracle中round 四捨五入
語法 round函式 語法為round number,num digits 其中number是需要進行四捨五入的數字 num digits為指定的位數,按此位數進行四捨五入,如果num digits大於 0,則四捨五入到指定的小數字,如果num digits等於 0,則四捨五入到最接近的整數,如果n...
MySQL中round 四捨五入之坑
計算數值時,因將乙個數值由 四捨五入改成sql四捨五入做整數處理而產生了誤差。該字段為varchar型別,修改後的計算結果與之前的結果當小數字為.5四捨五入進製時,竟然出現誤差。例如2.5,當欄位型別為varchar或double型別時,使用round函式,結果為2,而decimal則進製正常。執行...
SQL的四捨五入ROUND函式
sql四捨五入2007 11 01 16 35問題1 select cast 123.456 as decimal 將會得到 123 小數點後面的將會被省略掉 如果希望得到小數點後面的兩位。則需要把上面的改為 select cast 123.456 as decimal 38,2 123.46 自動...