【问题标题】:How to display values only upto 2 decimal places如何仅显示小数点后 2 位的值
【发布时间】:2013-02-23 15:38:11
【问题描述】:

我有一个“金额”类型的表列“金额”。当我通过存储过程检索其值时,它返回的值最多为 4 位小数(因为类型为 money)。我希望该值最多保留两位小数,并且希望它在代码中处理。我将如何通过将值四舍五入到小数点后 2 位来做到这一点。谢谢

【问题讨论】:

标签: c# sql-server


【解决方案1】:

阅读Custom Numeric Formats 了解有关格式化数字的详细说明。

value.ToString("0.00");

在 C# 6 或更高版本中,您可以使用 string interpolation 以获得更简洁的语法。

$"{value:0.00}";

【讨论】:

  • +1。如果你总是想要 2 位小数,即使 value 只有 1 位,这个会更好。这应该是公认的答案。
【解决方案2】:

表示层中的格式:

string.Format("{0:#.##}", value);

【讨论】:

    【解决方案3】:

    嗯,我试了一下,得到了正确的结果。

    下面是我使用的代码:

    funding.amount= Math.Round(decimal.Parse(dr["Amount"].ToString()), 2).ToString();
    

    //由于金额是字符串类型,所以我使用了上面的代码。我们也可以使用下面的代码:

    decimal.Round(yourValue, 2, MidpointRounding.AwayFromZero);
    

    http://msdn.microsoft.com/en-us/library/9s0xa85y.aspx

    【讨论】:

      【解决方案4】:

      您可以使用Standard Numeric Format 示例:

      decimal dValue = 1.268;
      string sValue = dValue.ToString("N"); // 1.27
      

      【讨论】:

        【解决方案5】:

        在离开事件中写下这段代码

         Double x;
                Double.TryParse(txtLocl.Text, out x);
                txtLocl.Text = x.ToString("0.00");
        

        离开后只允许保留两位小数

        【讨论】:

          【解决方案6】:
          string.Format("{0:0.00}", your_value);
          

          【讨论】:

          • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。还有@Md 的评论。 Shafiqur Ra​​hman 链接到相同的解决方案
          【解决方案7】:

          测试这段代码:

          value.ToString("F2");
          

          【讨论】:

            【解决方案8】:
            Text='<%#Bind("Value","{0:F2}") %>'
            

            【讨论】:

              猜你喜欢
              • 2010-09-14
              • 2012-05-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-03-10
              • 1970-01-01
              • 2012-06-30
              相关资源
              最近更新 更多