C#格式浮点到字符串,分隔符和填充0

时间:2015-01-13 15:33:54

标签: c# formatting number-formatting

我需要将整数和浮点数格式化为字符串。

如果它浮动,我需要,为小数点分隔符。并且.必须是千位分隔符。

另外,我需要用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}"格式化数千,但我仍然无法找到如何格式化小数以及如何正确填充分隔符。

无论配置文化如何,都必须这样做:/

2 个答案:

答案 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();