【问题标题】:C# how to convert a double to string with decimal and thousandC#如何将双精度数转换为带十进制和千位的字符串
【发布时间】:2014-02-15 11:15:52
【问题描述】:

您好,想在 C# 中将双精度 1123$ 转换为 1.123,00(十进制一千零二)。

我该怎么做?

谢谢

【问题讨论】:

  • 这些是$ 值吗,即您要打印美元,但使用大陆欧洲分隔符。如果我正在做这样的混合,我会考虑构建一个 NumberFormatInfo。有关更多详细信息,请参阅this,它是关于负面的,但这个概念是成立的。 stackoverflow.com/questions/11014878/…

标签: format double decimal


【解决方案1】:

你可能想用这个

YourDecimal.ToString("N",new CultureInfo("nl-NL")) // this will result in 1.000,00 for example
YourDecimal.ToString("N",new CultureInfo("en-US")) // this will result in 1,000.00 for example

如果您使用的是 ASP.NET,也可以在 Web.Config 中设置文化。

当然,如果与点和逗号分隔符匹配,您也可以选择任何其他文化。这些只是示例。

【讨论】:

    【解决方案2】:

    试试:

    var text = money.ToString("N0",
        System.Globalization.CultureInfo.GetCultureInfo("de"));
    

    【讨论】:

    • 因为他们使用 .对于分隔符
    • 有一点,Guy 做了 $,不过,嗯,我怀疑这最终可能会比最初看起来更复杂。
    【解决方案3】:
    Double x=1123.0;    
    x.ToString("N",new CultureInfo("nl-NL"))
    

    【讨论】:

      猜你喜欢
      • 2019-08-13
      • 1970-01-01
      • 2015-06-14
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 2018-01-02
      相关资源
      最近更新 更多