我想将此字符串:0.55000000000000004
转换为此双精度字段:0.55
。
怎么做?
答案 0 :(得分:51)
您可以使用此代码来降低精度部分:
double m = Math.Round(0.55000000000000004,2);
结果将是:0.55
答案 1 :(得分:30)
是字符串还是双字母? 如果是字符串:
double d = double.Parse(s,CultureInfo.InvariantCulture);
string s=string.Format("{0:0.00}",d);
如果它已经是使用第二行的双重格式。
答案 2 :(得分:11)
没有双0.55 - 该数字无法准确表示为二进制分数。这可能是你首先得到那个长串的原因。您应该使用decimal
类型而不是double
。
阅读The Floating-Point Guide以了解原因。