如何转换为2精度的双精度 - 点后的字符串?

时间:2011-02-14 20:49:30

标签: .net c#-4.0 double precision

我想将此字符串:0.55000000000000004转换为此双精度字段:0.55。 怎么做?

3 个答案:

答案 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以了解原因。