String.Format,单行空格仅用于正数
本文关键字:用于 空格 Format 单行 String | 更新日期: 2023-09-27 18:29:20
我正试图使用字符串格式对小数应用格式{0:#,##0.00;(#,##0.00)},但它会丢失正数的尾部空格,从而使小数点保持一行。
当右对齐时,结果应该如下所示:
123.45 |
(123.45)|
有什么想法吗?
以下对我有效:
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
您可能会发现这个格式化实用程序对很有用
https://code.msdn.microsoft.com/NET-Framework-4-Formatting-9c4dae8d