需要将双精度或十进制数转换为字符串。

5

我需要将双精度数值转换成字符串,保留两位小数,并用“点”作为分隔符。

2个回答

13

最简单的方法是指定CultureInfo.InvariantCulture作为区域设置,例如:

string text = d.ToString("N2", CultureInfo.InvariantCulture);

Jon,CultureInfo.InvariantCulture假设“点”吗? - Captain Comic
2
@Captain Comic:是的。对于大多数情况,您可以认为不变文化基本上就是美式英语 :) - Jon Skeet

1
也许为了避免在客户系统上混淆CultureInfo设置,我们最好设置一种具体的方式来强制机器使用点作为小数分隔符而不是千位分隔符,无论文化如何!因此,
NumberFormatInfo fi= new NumberFormatInfo();
fi.NumberDecimalSeparator = ".";
string doubleDotDecimalNr = doubleNr.ToString(fi);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接