如何仅显示小数点后 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 Ra​​hman 链接到相同的解决方案【参考方案7】:

测试这段代码:

value.ToString("F2");

【讨论】:

【参考方案8】:
Text='<%#Bind("Value","0:F2") %>'

【讨论】:

以上是关于如何仅显示小数点后 2 位的值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用小数点后三位的货币掩码?

如何使用浮点过滤器仅显示小数点后两位?

如何强制数字显示 2 位小数?

无论小数点后的位数如何,如何快速显示 2 位小数?

如何将双精度值格式化为点后两位小数且分隔符为千位的字符串?

Objective-C:如何格式化浮点值以仅显示小数,没有完整数字或小数点?