在c#中添加千位分隔符以加倍

Kai*_*Kai 2 c# format double parsing

我试图将double格式化为一个字符串格式,其中包含千位分隔符和德语数字格式的所有尾随十进制数.但我无法让它发挥作用(我真的那么愚蠢吗?).

我想要的是以下内容:

Input: double doubleVal = 123456.789;
Output: 123.456,789
Run Code Online (Sandbox Code Playgroud)

我已经使用过NumberFormats和其他东西,但我没有得到我想要的东西.有人可以帮忙吗?

Jon*_*eet 9

我希望你能够做到:

string text = value.ToString("N");
Run Code Online (Sandbox Code Playgroud)

......如果它不是线程的当前文化,那么指定德国文化.

样品:

using System;
using System.Globalization;

class Test
{
    static void Main()
    {
        double d = 123456.789;
        CultureInfo culture = CultureInfo.CreateSpecificCulture("de-DE");

        Console.WriteLine(d.ToString("N3", culture)); // 123.456,789
    }                   
}
Run Code Online (Sandbox Code Playgroud)

请注意,3指定小数点后的位数.

  • @flashflail:如果你正在使用`double`,那么无论如何你都要进行四舍五入或修剪*.你的价值不是*正好*123.456789开头.如果你想要精确的十进制值,你应该使用`decimal`. (2认同)