有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

eclipse显示Java双值

下面是一段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?谢谢


共 (3) 个答案

  1. # 1 楼答案

    你做不到,就像你想做的那样。一个double只存储一个数字,它不存储该数字的写入精度。您可以更改输出的格式(例如System.out.printf("%.2f", value),或者可以将值存储在不同的数据类型中(例如BigDecimal,这确实会产生这种区别),但是双值0.6和双值0.60没有区别

  2. # 2 楼答案

    还可以使用String类设置格式

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

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

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

    有关格式化程序的详细信息,请参阅java文档

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

  3. # 3 楼答案

    NumberFormat formatter = new DecimalFormat("#0.00");
    double decimal = 0.60;
    System.out.println(formatter.format(decimal));