我正在尝试格式化文本框的内容:
this.lblSearchResults1.Text =
Convert.ToDouble(lblSearchResults1.Text).ToString();
如何修改此内容以使文本包含逗号/千位分隔符?
即。 1000而不是1000。
答案 0 :(得分:70)
查看standard numeric format strings:
你可以最容易地使用'N'来根据用户文化做正确的事情,所以在你的情况下你可以添加“N”作为ToString的参数
([double]12345.67).ToString("N")
12,345.67
答案 1 :(得分:50)
要进行完整的自定义控制,请使用... .ToString("#,##0.00")
或其变体。 .
和,
将替换为与文化相关的符号。在大多数欧洲,你会得到1.234,56
另一个有用的图片是0.0#
。
要根据用户(或选定的)文化使用模式,请使用The Numeric ("N") Format Specifier,如.ToString("N")
或"... {0:N}"
。
答案 2 :(得分:7)
如果仔细查看Standard Numeric Format Strings,可以尝试以下方法之一:
.ToString("n", CultureInfo.GetCultureInfo("en-US"))
.ToString("n", CultureInfo.GetCultureInfo("de-DE"))
.ToString("n", CultureInfo.CurrentCulture)
答案 3 :(得分:5)
上述回答的替代方法是使用
this.lblSearchResults1.Text = String.Format("{0:N}", Convert.ToDouble(lblSearchResults1.Text))
如果你想要小数位,只需输入你希望在N之后的小数位数。下面的例子将返回2位小数的值。
this.lblSearchResults1.Text = String.Format("{0:N2}", Convert.ToDouble(lblSearchResults1.Text))
有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/system.string.format.aspx。
答案 4 :(得分:1)
最简单的方法是:
Convert.ToDouble("1234567.12345").ToString("N")
如果要控制小数位,可以执行以下操作:
Convert.ToDouble("1234567.12345").ToString("N3")
一般来说,请查看ToString上的重载以获得更多令人兴奋的可能性。
答案 5 :(得分:1)
double.Parse(Amount).ToString(“ N”);
答案 6 :(得分:0)
请勿将整数进行翻倍运算!
使用NumberFormatInfo帮助程序类,例如:
var nfi = new NumberFormatInfo() {
NumberDecimalDigits = 0,
NumberGroupSeparator = "."
};
var i = 1234567890;
var s = i.ToString("N", nfi); // "1.234.567.890"