十进制格式,是否需要为字符串?

问题描述 投票:0回答:2

运行此代码时出现错误“无法从字符串转换为双精度”,有什么想法吗?

    DecimalFormat df = new DecimalFormat("##.###");

    String [] data = null;
    data = str.split(" ");

    Double bat_avg = Double.parseDouble(data[4])/Double.parseDouble(data[2]);
    bat_avg = df.format(bat_avg);
    System.out.println(bat_avg);
java string double decimalformat
2个回答
4
投票

[DecimalFormat#format(double)返回一个String,因此输出必须是这种类型,而不是Double:]]

String output = df.format(bat_avg);

-1
投票
Double bat_avg = Double.parseDouble(data[4])/Double.parseDouble(data[2]); 
String x = df.format(bat_avg);
double y = Double.valueOf(x); 
System.out.println(y);
© www.soinside.com 2019 - 2024. All rights reserved.