我想将这个字符串转换为双精度浮点数:
0.55000000000000004
转换成这个: 0.55
。如何做到呢?您可以使用以下代码来减少精度:
double m = Math.Round(0.55000000000000004,2);
结果将是:0.55
是字符串还是双精度浮点数?
如果是字符串:
double d = double.Parse(s,CultureInfo.InvariantCulture);
string s=string.Format("{0:0.00}",d);
如果已经是double类型,只需使用第二行进行格式化。
并不存在双精度浮点数0.55 - 这个数字无法被二进制小数准确地表示。这可能就是你首次得到那个长字符串的原因。你应该使用decimal
类型而不是double
类型。