在Java中,将双精度值舍入到10位?

在Java中,将双精度值舍入到10位?,java,double,Java,Double,我在寻找一种简单的方法,将双精度值四舍五入到10位数,但我甚至没有找到一种对我来说很好的方法,一切都太复杂了。 我希望有人能帮助我,例如:值0.83426945721236485将变成0.8342694572 提前谢谢你。简单 DecimalFormat df = new DecimalFormat("0.0000000000"); System.out.println(df.format(0.83426945721236485)); 请查看文档: 对于double,小数点在内部没有意义,因为

我在寻找一种简单的方法,将双精度值四舍五入到10位数,但我甚至没有找到一种对我来说很好的方法,一切都太复杂了。 我希望有人能帮助我,例如:值0.83426945721236485将变成0.8342694572

提前谢谢你。

简单

DecimalFormat df = new DecimalFormat("0.0000000000");
System.out.println(df.format(0.83426945721236485));
请查看文档:

对于double,小数点在内部没有意义,因为它是一个二进制浮点

当然,您可以选择以DecimalFormat支持的任何格式来显示它,如


如果需要小数点后10位的内部表示法,则应与比例因子10一起使用。

是要将其四舍五入,还是只删除第10位之后的所有数字?还有,你是指10位数字还是10位小数?因为现在,你有11个数字。@宪兵队,点后的数字应该四舍五入到10个数字(即-0.1234567891)@shmosel我已经看到了这个线程,但有太复杂的解决方案。你有什么简单性要求?看起来非常简单。但我看不出它是如何舍入已经给定的值的,看起来你只是在屏幕上打印了一个数字。你是对的。在过去的10分钟里,我试图找到一种进行舍入的简单方法,但如果没有一些令人讨厌的字符串连接和解析,我就找不到一条捷径。