Java-If语句需要将值显示为0.00而不是0.0
我创建此代码是为了显示某个输出,但输出显示为: 头等舱包裹-费用为3.3英镑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())
约翰·史密斯,唐宁街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