【问题标题】: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 我的错。你是对的:)

标签: sql-server types decimal number-formatting


【解决方案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 
      

      【讨论】:

        猜你喜欢
        • 2011-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        • 2013-08-21
        • 2022-11-12
        • 2021-05-14
        相关资源
        最近更新 更多