C# 格式浮点数为带有分隔符和填充 0 的字符串
C# format float to string with separators and padding 0
我需要将整数和浮点数格式化为字符串。
如果是浮点数,我需要,
作为小数点分隔符。 .
必须是千位分隔符。
此外,我需要用 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}"
格式化了数千个,但我仍然找不到如何格式化小数以及如何正确填充保留分隔符。
无论配置的文化如何,都必须这样做:/
可以设置文化为欧洲文化,格式为:
string.Format(new CultureInfo("de-DE"), "{0:000,000.00}", num).Dump();
这适用于给定的示例:
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);
}
我需要将整数和浮点数格式化为字符串。
如果是浮点数,我需要,
作为小数点分隔符。 .
必须是千位分隔符。
此外,我需要用 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}"
格式化了数千个,但我仍然找不到如何格式化小数以及如何正确填充保留分隔符。
无论配置的文化如何,都必须这样做:/
可以设置文化为欧洲文化,格式为:
string.Format(new CultureInfo("de-DE"), "{0:000,000.00}", num).Dump();
这适用于给定的示例:
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);
}