使用String Interpolation

时间:2017-06-08 05:18:38

标签: c# string format double c#-6.0

我需要打印双打,以便为字符串表示值分配确定数量的符号(如8)。下一个单词应该从每个字符串中字符串开头的相同索引处开始。现在我有:

value: 0 test
value: 0.3333333333333 test
value: 0.5 test

我需要:

value: 0           test
value: 0.33333333  test
value: 0.5         test

测试代码:

double[] ar = new double[] { 0, (double)1 / 3, (double)1 / 2 };
string s = "test";

foreach (var d in ar)
{
    Console.WriteLine($"value: {d} {s}");
}

{d:之后我应该添加什么?

1 个答案:

答案 0 :(得分:7)

您可以使用Alignment Component来实现此目的。像这样:

Console.WriteLine($"value: {d,-17} {s}");
  

可选对齐组件是一个有符号整数,表示首选的格式化字段宽度。如果alignment的值小于格式化字符串的长度,则忽略alignment,并将格式化字符串的长度用作字段宽度。如果对齐为正,则字段中的格式化数据右对齐,如果对齐为负,则对齐左对齐。如果需要填充,则使用空格。如果指定了对齐,则需要逗号。

因此,我们使用否定对齐,因为您希望第一列左对齐