3 回答
TA贡献1719条经验 获得超6个赞
double total = 44;
String total2 = String.valueOf(total);
这会将double转换为String
TA贡献1820条经验 获得超2个赞
使用Double.toString(),如果数字太小或太大,您将得到如下科学表示形式:3.4875546345347673E-6。有几种方法可以更好地控制输出字符串格式。
double num = 0.000074635638;
// use Double.toString()
System.out.println(Double.toString(num));
// result: 7.4635638E-5
// use String.format
System.out.println(String.format ("%f", num));
// result: 0.000075
System.out.println(String.format ("%.9f", num));
// result: 0.000074636
// use DecimalFormat
DecimalFormat decimalFormat = new DecimalFormat("#,##0.000000");
String numberAsString = decimalFormat.format(num);
System.out.println(numberAsString);
// result: 0.000075
使用String.format()将是最好的便捷方法。
TA贡献1786条经验 获得超13个赞
这段代码可以为我编译和工作。它将使用您尝试的调用将双精度型转换为字符串。
public class TestDouble {
public static void main(String[] args) {
double total = 44;
String total2 = Double.toString(total);
System.out.println("Double is " + total2);
}
}
您看到NumberFormatException令我感到困惑。查看堆栈跟踪。我猜您在示例中未显示其他代码,该代码导致引发该异常。
添加回答
举报