-2

这是一段Java代码:

 import java.util.*;

public class javaTests
{
    public static void main(String[] args)
    {
        double decimal = 0.60;

        System.out.println(decimal);
    }
}

我正在尝试打印 0.60,但编译器会打印 0.6。我怎样才能让它打印 0.60?谢谢!

4

3 回答 3

1
NumberFormat formatter = new DecimalFormat("#0.00");
double decimal = 0.60;
System.out.println(formatter.format(decimal));
于 2015-04-01T17:12:19.320 回答
0

你不能,你试图这样做的方式。Adouble只存储一个数字,它不存储写入该数字的精度。您可以更改输出的格式(例如System.out.printf("%.2f", value),或者您可以将值存储在不同的数据类型中(例如,确实可以区分),但双精度值和双精度BigDecimal值没有区别。0.60.60

于 2015-04-01T17:07:46.390 回答
0

您还可以使用 String 类进行格式化。

System.out.println(String.format("%1.2f",.60));

format 方法接受多个参数。第一个参数始终是格式字符串,它使用以下语法。

%[argument_index$][flags][width][.precision]conversion

有关 Formatter 的详细信息,请参阅 java 文档

http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax

于 2015-04-01T17:23:30.600 回答