四舍五入的小数截断小值 - 向上舍入
Posted
技术标签:
【中文标题】四舍五入的小数截断小值 - 向上舍入【英文标题】:Rounded decimal truncating small values - rounding up 【发布时间】:2013-04-02 15:12:20 【问题描述】:例如,我有 1000 个西红柿,总价值 4.00 美元。这将是 0.004
每个番茄。我的数据类型是decimal (9,2)
。
如果我想将该值四舍五入到 0.01
,我将如何实现?
【问题讨论】:
四舍五入时0.004
= 0.01
怎么可能?不是0.00
吗?
四舍五入的规则是什么?
我认为他们想要更多的 Math.Max()
函数,这两个值中的较高者。他们不想展示任何低于一分钱的东西。
@JW 一分钱是最小的货币价值。
@RobertHarvey 我的错。你是对的:)
【参考方案1】:
Select Round(CEILING(0.004 * 100)/100,2)
【讨论】:
【参考方案2】:select case
when cast(4.00/1000 as decimal(9,2)) < 0.01 then 0.01
else cast(4.00/1000 as decimal(9,2))
end
【讨论】:
【参考方案3】:应该这样做:
select ceiling(0.004*100)/100
【讨论】:
以上是关于四舍五入的小数截断小值 - 向上舍入的主要内容,如果未能解决你的问题,请参考以下文章