[C#] C#双格式对齐十进制符号


Answers

你可以使用double的string.format或ToString方法来做到这一点。

double MyPos = 19.95, MyNeg = -19.95, MyZero = 0.0;

string MyString = MyPos.ToString("$#,##0.00;($#,##0.00);Zero");

// In the U.S. English culture, MyString has the value: $19.95.

MyString = MyNeg.ToString("$#,##0.00;($#,##0.00);Zero");

// In the U.S. English culture, MyString has the value: ($19.95).
// The minus sign is omitted by default.

MyString = MyZero.ToString("$#,##0.00;($#,##0.00);Zero");

// In the U.S. English culture, MyString has the value: Zero.

这篇文章从MSDN可以帮助你,如果你需要更多的细节

Question

我使用不同数量的小数对齐数字,以便小数点在一个直线上对齐。 这可以填充空格,但我有麻烦。

假设我想对齐以下数字:0 0.0002 0.531 2.42 12.5 123.0 123172

这是我后来的结果:

     0
     0.0002
     0.531
     2.42
    12.5
   123.0
123172