Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-If语句需要将值显示为0.00而不是0.0_Java_If Statement_Decimal - Fatal编程技术网

Java-If语句需要将值显示为0.00而不是0.0

Java-If语句需要将值显示为0.00而不是0.0,java,if-statement,decimal,Java,If Statement,Decimal,我创建此代码是为了显示某个输出,但输出显示为: 头等舱包裹-费用为3.3英镑 约翰·史密斯,唐宁街1号,SQ13 9DD 重量=1.342kg 这段代码是输出的一部分(头等舱包裹-成本为3.3英镑),但是我想显示3.30,而不是显示3.3 @Override public String toString() { String str = ""; double cost = 0.00; if (this.isFirstClass())

我创建此代码是为了显示某个输出,但输出显示为:

头等舱包裹-费用为3.3英镑
约翰·史密斯,唐宁街1号,SQ13 9DD
重量=1.342kg

这段代码是输出的一部分(头等舱包裹-成本为3.3英镑),但是我想显示3.30,而不是显示3.3

@Override
    public String toString() {
        String str = "";
        double cost = 0.00;
            if (this.isFirstClass()){
                cost = 3.30;
                str = "First Class Parcel";
            } else {
                cost = 2.80;
                str = "Second Class Parcel"; 
            }
                return str + " - Cost is £" + cost + "\n" + super.toString() + "\n";
        }
您是否尝试过:

String.format( "%.2f", cost);

这将帮助您:

DecimalFormat df = new DecimalFormat("#.00");
        double d= 23.2;
        System.out.println(df.format(d));

使用
DecimalFormat
。类似下面这样的句子

    double cost = 3.30;
    DecimalFormat df = new DecimalFormat("#.00"); 

    System.out.println("Cost is £" + df.format(cost) );

因此,请按照您希望的方式设置值的格式。顺便说一下,您通常不应使用
double
表示货币金额,因为值3.30和2.80不能用
double
精确表示。您可以查看以了解实际值是什么,以及为什么。对于像这样的少量,不太可能有什么不同。但是为了将来的使用,您需要查看
BigDecimal
类。工作正常,谢谢您:D