尝试使用 NumberFormatInfo 类来格式化您的号码。我使用下面的代码来检查我的答案,它适用于我测试过的大/小案例:
static void Main(string[] args)
{
double smallNumber = -1.01;
double smallNumberMoreDigits = -1.0001;
double bigNumber = -100000.001;
double longNumber = 2.2347894612789;
Thread.CurrentThread.CurrentCulture = new CultureInfo("ru", false);
Console.Out.WriteLine(smallNumber.ToString("#,0.####"));
Console.Out.WriteLine(smallNumberMoreDigits.ToString("#,0.####"));
Console.Out.WriteLine(bigNumber.ToString("#,0.####"));
Console.Out.WriteLine(longNumber.ToString("#,0.####"));
Console.Read();
}
编辑:快速的侦探工作(我查看了您的个人资料)告诉我您在俄罗斯。您在寻找通用俄语数字格式吗?我已经更改了上面的代码。看看它是否符合您的要求。它给了我以下结果:
-1,01 -1,0001 -100000,001
第二次编辑:添加掩码以获得更好的小数位结果。