格式化选项

Formatting Option

如果我有一个像这样的数字:1042.00 并且我希望它变成 1,042.00 什么是正确的程序。我在格式化代码中使用了 NN2,但没有成功。基本上我想要格式,例如使用不带美元符号的 C 。下面我给大家展示一下。

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

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

您可以这样做来格式化您的输出。

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

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

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

您的方向基本正确。如果您使用的是小数值,您只需使用:

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
}