Bat*_*ana 0 sql t-sql sql-server sql-server-2005 sql-server-2008
我正在使用SQL Server 2005.我正在使用ROUND T-SQL函数来舍入十进制列值.但似乎舍入值不正确.
PRINT ROUND(1890.124854, 2) => 1890.120000
Run Code Online (Sandbox Code Playgroud)
如图所示,ROUND函数返回1890.12,因为它应该是1890.13.有没有人遇到过这个以及什么应该是正确的舍入方式,以便我得到预期值1890.13 ..?
谢谢.
ROUND()
按计划工作.你指定舍入到2个小数位,这就是你得到的.
返回一个数值,舍入为指定的长度或精度.
舍入表示5或更高的数字上升到最接近,小于5到最接近.
所以,
PRINT ROUND(1890.125000, 2)
Run Code Online (Sandbox Code Playgroud)
产生 1890.130000
而
PRINT ROUND(1890.124999, 2)
Run Code Online (Sandbox Code Playgroud)
产生 1890.120000
归档时间: |
|
查看次数: |
2905 次 |
最近记录: |