如何将一个双精度浮点数四舍五入到小数点后三位?

huangapple go评论78阅读模式
英文:

How do I round a double to the thirds place?

问题

double1 = 0.05100000000003
double2 = 0.05295

# 如何将小数保留三位小数?分别如下输出:0.051 和 0.053。
# 我尝试了 Math.round(double1); 但是得到了 0.0。
# 有任何想法将不胜感激,谢谢。
英文:
double1 = .05100000000003;

double2 = .05295;

How do I round a decimal to three places? Respectively, I'd like the output to do this 0.051 and 0.053.

I tried Math.round(double1); but I got back 0.0.

Any ideas would be greatly appreciated thanks.

答案1

得分: 1

尝试在Java中使用以下代码。零的数量表示您想要舍入到小数点后多少位(在此例中有3个零)。

(double)Math.round(value * 1000d) / 1000d

编辑:在此前的StackOverflow帖子中提供了相同的答案。

英文:

Try the following code in Java. The number of zeros indicates how many decimal places you would like to round to. (In this case there are 3 zeros).

(double)Math.round(value * 1000d) / 1000d

EDIT: same answer is provided in this previous StackOverflow Post

huangapple
  • 本文由 发表于 2020年9月22日 02:44:02
  • 转载请务必保留本文链接:https://go.coder-hub.com/63998221.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定