我正在使用
java.text.DecimalFormat
。
当我使用这种格式打印双变量时,它运行良好。
但是当我在 if
语句中尝试相同的操作时,它给出了错误。
DecimalFormat df = new DecimalFormat("#.##");
double a = 2.3333;
System.out.print(df.format(a));
显示
2.33
,
但在if
语句中,却给出了错误。
DecimalFormat df = new DecimalFormat("#.##");
double a = 2.3333;
if(df.format(a)==2.33){
System.out.println("aa");
}
表演
if(df.format(a)==2.33){
^
first type: String
second type: double
1 error
这是因为
DecimalFormat.format()
方法的返回类型是String
(如文档中所述,并且不能直接在double
语句中与if-else
进行比较。
尝试将
String
转换回数字:
或直接比较两者为
String
: