I want to convert this string: 0.55000000000000004
to this double: 0.55
.
How to do that?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Is a string or a double? If it is a string:
double d = double.Parse(s,CultureInfo.InvariantCulture);
string s=string.Format("{0:0.00}",d);
if it is already a double just format using the second line.
回答2:
you can use this code to reduce precision part:
double m = Math.Round(0.55000000000000004,2);
Result would be : 0.55
回答3:
There is no double 0.55 - the number cannot be accurately represented as a binary fraction. Which is probably the reason why you got that long string in the first place. You should probably be using the decimal
type instead of double
.
Read The Floating-Point Guide to understand why.