如何在SQLServer中返回带两位小数的数字而不自动舍入

7fyelxc5  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(474)

这是一个奇怪的,我有一个成本价,和一个平均成本价。平均值由平均值函数确定,与成本价相比,如下所示:

Cost Price | Average Cost Price
   8.24            8.23897666

现在,当我使用下面的代码时,它将其更改为8.24,即使我没有指定任何round函数

select cast(8.23897666 as numeric(18,2))

我试着将它转换成一个浮点数,但它仍然将它四舍五入到.24,即使我只希望它返回2个小数位。
我不知道为什么会这样,有人能解释一下吗?由于不考虑小数点前的数字,我要返回完整的数字和2位小数。

dwthyt8l

dwthyt8l1#

你可以用 floor() 和整数除法:

select floor(8.23897666 * 100) / 100

或者更好的是,使用 round() 与一个非- 0 第三个论点:

select round(8.23897666, 2, 1)

相关问题