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

Mon*_*RPG 26 .net precision double c#-4.0

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

mjy*_*ani 52

您可以使用此代码来减少精度部分:

double m = Math.Round(0.55000000000000004,2);
Run Code Online (Sandbox Code Playgroud)

结果将是:0.55


Fel*_*ano 31

是字符串还是双?如果是字符串:

double d = double.Parse(s,CultureInfo.InvariantCulture);
string s=string.Format("{0:0.00}",d);
Run Code Online (Sandbox Code Playgroud)

如果它已经是使用第二行的双重格式.


Mic*_*rdt 12

没有双0.55 -数量不能准确地表示为二进制分数.这可能是你首先得到那个长串的原因.您可能应该使用该decimal类型而不是double.

阅读浮点指南以了解原因.

  • @PokemonCraft:不.你需要的是理解为什么你想要的是不可能的,也没有意义. (5认同)