如何仅显示小数点后 2 位的值
Posted
技术标签:
【中文标题】如何仅显示小数点后 2 位的值【英文标题】:How to display values only upto 2 decimal places 【发布时间】:2013-02-23 15:38:11 【问题描述】:我有一个“金额”类型的表列“金额”。当我通过存储过程检索其值时,它返回的值最多为 4 位小数(因为类型为 money)。我希望该值最多保留两位小数,并且希望它在代码中处理。我将如何通过将值四舍五入到小数点后 2 位来做到这一点。谢谢
【问题讨论】:
可以在下面的链接中查看答案..***.com/a/37997363/4619541 【参考方案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 Rahman 链接到相同的解决方案【参考方案7】:测试这段代码:
value.ToString("F2");
【讨论】:
【参考方案8】:Text='<%#Bind("Value","0:F2") %>'
【讨论】:
以上是关于如何仅显示小数点后 2 位的值的主要内容,如果未能解决你的问题,请参考以下文章