右对齐货币字符串格式

gul*_*aek 5 .net c# string-formatting

我正试图将一些货币对齐到右边:

double number1 = 150.45;
double number2 = 1400.95;

//Output  kr. 150,45
Console.WriteLine("{0:c2}", number1);

//Output  kr. 1.400,95
Console.WriteLine("{0:c2}", number2);
Run Code Online (Sandbox Code Playgroud)

但我希望我的输出看起来像这样.

//Output kr.   150.45

//Output kr. 1.400,95
Run Code Online (Sandbox Code Playgroud)

数字是否与右边对齐?

Bal*_*a R 7

 string sym = CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol;
 Console.WriteLine("{0}{1,10:#,##0.00}",sym, number1);
 Console.WriteLine("{0}{1,10:#,##0.00}",sym, number2);
Run Code Online (Sandbox Code Playgroud)

思想输出


Car*_*ten 6

系统很难说出你的号码有多少个位置.所以你必须自己决定.如果您已经决定使用String.PadLeft之类的东西

例如

Console.WriteLine("kr. {0}", number1.ToString("#,##0.00").PadLeft(10,' '));
Run Code Online (Sandbox Code Playgroud)