格式化选项

时间:2016-04-05 04:08:58

标签: c# formatting console-application

如果我有一个数字:1042.00,我希望它成为1,042.00正确的程序。我在格式代码中使用了NN2而没有运气。基本上我想要的格式如使用C而没有美元符号。让我告诉你。

fileOut.WriteLine("Standard Deviation {0,9:N2}")

我有多行,大约200个带占位符的代码,并显示来自各种数组的数据。我真的不想在每个占位符上使用String.Format

2 个答案:

答案 0 :(得分:0)

您可以执行此操作来格式化输出。

string.Format("{0:0,0.00}", 1042.00); //1,042.00

您可以使用重载的StreamWriter.WriteLine构造函数来提供Format作为参数之一并执行此操作。

fileOut.WriteLine("Standard Deviation {0:0,0.00}", 1042.00);

答案 1 :(得分:0)

你几乎走在正确的轨道上。如果您正在使用小数值,则只需使用:

decimal someDecimal = 1042.00;
fileOut.WriteLine("Standard Deviation {0:N2}", someDecimal);

我怀疑你的意思是使用文字输入(问题中不是很清楚 - 如果你有其他想法,请更新)。如果是这种情况,那么您首先要将其转换为小数:

string someDecimalAsString = "1042.00";
fileOut.WriteLine("Standard Deviation {0:N2}", Convert.ToDecimal(someDecimalAsString));

如果您不确定字符串小数的有效性,那么您可能希望使用TryParse来处理任何无效数据:

string someDecimalAsString = "1042.00";
decimal d;
if (decimal.TryParse(someDecimalAsString, out d))
{
    fileOut.WriteLine("Standard Deviation {0:N2}", d);
}
else
{
    // handle invalid decimals
}