我正在开发一个应用程序,其中我正在获得声明中提到的值,并且我有一个double的值。我需要在“。”之后获得三位数值。 我怎么能这样做
值
9.690000000000001
答案 0 :(得分:1)
您可以使用String.format("%.3f", d)
这会将你的双倍小数舍入到小数点后3位。
答案 1 :(得分:0)
您可以使用DecimalFormat
Double doub=Double.parseDouble(new DecimalFormat("##.###").format(9.690000000000001));
注意如果第三个数字为零,它将仅返回最多两个小数位。
答案 2 :(得分:0)
使用String.format
之类的:
Double formattedDouble = Double.parseDouble(String.format("%.2f", doubleVariable));
Log.d(getClass().getSimpleName(), "Formatted double is: " + formattedDouble);
%.2f
将变量四舍五入到最后两位。
或者,您可以使用java.util.Formatter
,其工作方式相同。
另外,
DecimalFormat df = new DecimalFormat("#.00");
请注意00
,意思是两位小数。
答案 3 :(得分:0)
请试试这个:
double d = 9.690000000000001;
d = (double)Math.round(d * 1000) / 1000.0;
答案 4 :(得分:0)
有三种方法可以做到这一点: