如何插入千位分隔符(逗号)与转换为double

时间:2010-08-11 09:14:20

标签: c# label

我正在尝试格式化文本框的内容:

this.lblSearchResults1.Text =
    Convert.ToDouble(lblSearchResults1.Text).ToString(); 

如何修改此内容以使文本包含逗号/千位分隔符?

即。 1000而不是1000。

7 个答案:

答案 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"