MySQL中round 四捨五入之坑

2022-08-21 16:15:15 字數 611 閱讀 1573

計算數值時,因將乙個數值由**四捨五入改成sql四捨五入做整數處理而產生了誤差。該字段為varchar型別,修改後的計算結果與之前的結果當小數字為.5四捨五入進製時,竟然出現誤差。例如2.5,當欄位型別為varchar或double型別時,使用round函式,結果為2,而decimal則進製正常。

執行sql:select c_varchar,round(c_varchar),c_double,round(c_double),c_decimal,round(c_decimal) from round_test

執行結果:2.5 2 2.50 2 2.50 3

參考相關資料,看到有人說將字段值相加乙個不影響結果的小數後,數值可以正常,測試一下,的確如此。

執行sql:select c_varchar,round(c_varchar+0.000001),c_double,round(c_double+0.000001),c_decimal,round(c_decimal) from round_test

執行結果:2.5 3 2.50 3 2.50 3

具體原因,後續分析。。。

oracle中round 四捨五入

語法 round函式 語法為round number,num digits 其中number是需要進行四捨五入的數字 num digits為指定的位數,按此位數進行四捨五入,如果num digits大於 0,則四捨五入到指定的小數字,如果num digits等於 0,則四捨五入到最接近的整數,如果n...

mysql 金額 四捨五入 mysql四捨五入

雲資料庫 mysql 雲資料庫 rds for mysql 是穩定可靠 可彈性伸縮的雲資料庫服務。通過雲資料庫能夠讓您幾分鐘內完成資料庫部署。雲端完全託管,讓您專注於應用程式開發,無需為資料庫運維煩惱 低至 0.24 小時起,買1年83折 雲資料庫mysql 雲資料庫 rds for mysql 是...

python中round(四捨五入)的坑

python中的round函式不能直接拿來四捨五入,一種替代方式是使用decimal.quantize 函式。具體內容待補。round 2.675,2 2.67 可以傳遞給decimal整型或者字串引數,但不能是浮點資料,因為浮點資料本身就不準確。1 coding utf 8 2from decim...