我尝试使用string.format在小数上应用格式{0:#,## 0.00;(#,## 0.00)},但它正从正值中丢失尾随空格将小数点保持在一行。
当正确对齐时,结果应如下所示:
123.45 |
(123.45)|
有什么想法吗?
答案 0 :(得分:1)
以下适用于我:
var numbers = new List<double> {123.45, -123.45, 0, -1, -100000.12345, 100000.12345};
foreach (var number in numbers)
{
var numberString = number.ToString("#,##0.00 ;(#,##0.00)");
// This is the only way I know how to right-align in console window
Console.CursorLeft = (Console.BufferWidth - 1) - numberString.Length;
Console.WriteLine(numberString);
}
// Output:
// 123.45
// (123.45)
// 0.00
// (1.00)
// (100,000.12)
// 100,000.12
答案 1 :(得分:-2)
您可能会发现此格式化实用程序很有用
https://code.msdn.microsoft.com/NET-Framework-4-Formatting-9c4dae8d