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

Ric*_*ano 46 c# label

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

this.lblSearchResults1.Text =
    Convert.ToDouble(lblSearchResults1.Text).ToString(); 
Run Code Online (Sandbox Code Playgroud)

我如何修改这个,以便我的文本包括逗号/千位分隔符?

即1,000而不是1000.

Jam*_*ing 76

查看标准数字格式字符串:

您可以最轻松地使用'N',它将根据用户文化做正确的事情,因此在您的情况下,您只需添加"N"作为ToString的参数

([double]12345.67).ToString("N")
Run Code Online (Sandbox Code Playgroud)

12,345.67

  • 答案是"N0",其中0是小数位数."N1","N2"等可行. (2认同)

Hen*_*man 52

用于完全自定义控制,使用... .ToString("#,##0.00")或其变体.的.,将通过培养依赖符号来代替.在大多数欧洲,你会得到1.234,56.
另一个有用的图片是0.0#.

要根据用户(或选定的)文化使用模式,请使用 数字("N")格式说明符,如.ToString("N")"... {0:N}".


Chr*_*ris 9

最简单的方法是:

Convert.ToDouble("1234567.12345").ToString("N")
Run Code Online (Sandbox Code Playgroud)

如果要控制小数位,可以执行以下操作:

Convert.ToDouble("1234567.12345").ToString("N3")
Run Code Online (Sandbox Code Playgroud)

一般来说,查看 ToString 上的重载以获得更多令人兴奋的可能性。

  • (Int32.Parse("78956258")).ToString("N0") -- 保持简单!! (6认同)
  • @JG'sSpark:我不确定你在说什么......这似乎和我在回答中的一样,真的不简单...... (2认同)

Oli*_*ver 8

如果您仔细查看标准数字格式字符串,可以尝试以下方法之一:

.ToString("n", CultureInfo.GetCultureInfo("en-US"))
.ToString("n", CultureInfo.GetCultureInfo("de-DE"))
.ToString("n", CultureInfo.CurrentCulture)
Run Code Online (Sandbox Code Playgroud)


Duu*_*u82 5

可以使用上述答复的替代方案

this.lblSearchResults1.Text = String.Format("{0:N}", Convert.ToDouble(lblSearchResults1.Text))
Run Code Online (Sandbox Code Playgroud)

如果你想要小数位,只需输入你希望在N之后的小数位数.下面的例子将返回2位小数的值.

this.lblSearchResults1.Text = String.Format("{0:N2}", Convert.ToDouble(lblSearchResults1.Text))
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅http://msdn.microsoft.com/en-us/library/system.string.format.aspx.