如果我有一个数字:1042.00
,我希望它成为1,042.00
正确的程序。我在格式代码中使用了N
和N2
而没有运气。基本上我想要的格式如使用C
而没有美元符号。让我告诉你。
fileOut.WriteLine("Standard Deviation {0,9:N2}")
我有多行,大约200个带占位符的代码,并显示来自各种数组的数据。我真的不想在每个占位符上使用String.Format
。
答案 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
}