相关疑难解决方法(0)

为什么Sql Server 2000上的TSQL会舍入小数位数不一致?

我正在尝试计算美元金额折价的百分比。在50%的价格下,有时您会得到半分钱,我需要四舍五入到最接近的一分。

在Sql中,我的计算如下:

round(retail * 0.5, 2, 0)

如果采用以下值,则会得到不同的结果:

  • 4.39
  • 2.49

不全面的我得到:

  • 4.39-> 2.195
  • 2.49-> 1.245

取整后得到:

  • 2.195-> 2.19
  • 1.245-> 1.25

有人告诉我这是“银行取整”的一种形式,但似乎影响取整方向的值是整数值。

我的问题是,我希望最高值舍入为2.20。如果这确实是银行家的四舍五入,并且受此处的整数值影响,那么有人可以防止这种情况吗?如果不是银行家四舍五入,请问有人可以提供解释并可能提供解决办法,以使正常的四舍五入行为成为可能?

提前致谢!

sql t-sql sql-server sql-server-2000 rounding

4
推荐指数
1
解决办法
2856
查看次数

Sql Round,当打开.5时,舍入到更大的数字,即1.235结果1.24

在做发票时,我想要说1.235到1.23

Select Round(TestData,2) From TestTableRound
Run Code Online (Sandbox Code Playgroud)

为什么我得到结果1.24,考虑到它的中途?我希望这四舍五入到1.23.

这可能会导致计费时出现差异,有时发票与账单不符.

只是好奇,任何帮助都会很棒,谢谢

sql sql-server

0
推荐指数
1
解决办法
161
查看次数

标签 统计

sql ×2

sql-server ×2

rounding ×1

sql-server-2000 ×1

t-sql ×1