我需要将整数和浮点数格式化为字符串。
如果它浮动,我需要,
为小数点分隔符。并且.
必须是千位分隔符。
另外,我需要用0
完成剩余的小数。一些例子:
float:
45,3: 000.045,30
125: 000.125,00
83560.195: 083.560,19
int:
45: 000.045
5789: 005.789
我设法使用"{0:#,0}"
格式化数千,但我仍然无法找到如何格式化小数以及如何正确填充分隔符。
无论配置文化如何,都必须这样做:/
答案 0 :(得分:4)
这适用于给定的示例:
NumberFormatInfo numberFormat = new NumberFormatInfo
{
NumberDecimalSeparator=",",
NumberGroupSeparator="."
};
string formatFloat(float f)
{
return f.ToString("0####,0.00",numberFormat);
}
string formatInt(int i)
{
return i.ToString("0####,0",numberFormat);
}
答案 1 :(得分:1)
您可以将文化设置为欧洲文化,并格式化:
string.Format(new CultureInfo("de-DE"), "{0:000,000.00}", num).Dump();