在c#中右对齐十进制数组?

时间:2016-04-28 16:07:17

标签: c# arrays decimal

我的c#编程课有一个项目;编写一个程序,可以读取员工文件和销售单文件并处理这两个文件。我已经完成了我需要的2个阵列,并且很好地填写了。我的问题是当我在控制台模式下打印出结果时。 我的数组是十进制类型。我需要让所有数字在某个位置正确对齐,我知道如何这样做的唯一方法是使用函数.PadRight / .PadLeft,它只适用于我看到的字符串。有没有其他方法可以做到这一点,或者我应该只是Convert.ToString每个值吗?

2 个答案:

答案 0 :(得分:1)

如果您只需输出使用控制台填充的值,则可以使用Composite Formatting及其{0,spaces-to-format} syntax格式化它们:

// Example array of decimals
var input = new decimal[]{ 12.24m, 199.99m, 1.0m, 42.42m, 100321.123m };
// Format each value to 10 digits
foreach(decimal d in input)
{
    // Format each value to 10 places (right-justfied)
    // You could alternatively use d.ToString("{0,10") 
    Console.WriteLine("{0,10}",d);
}

你可以see a working example of this here并在下面演示:

enter image description here

答案 1 :(得分:0)

你非常关注

decimal val = 10m;
//Or PadLeft
string formattedVal = val.ToString().PadRight(10, ' ');