我想知道这两种方法之间的区别。我以为toStringAsFixed
会修剪数字,但从doc中的示例来看,两者都是四舍五入。
答案 0 :(得分:1)
1。 Double.toStringAsPrecision(int)
它检查所需的精度,并相应地四舍五入并返回结果。
double d = 1.59;
String precision1 = d.toStringAsPrecision(1); // 2
String precision2 = d.toStringAsPrecision(2); // 1.6
String precision3 = d.toStringAsPrecision(3); // 1.59
String precision4 = d.toStringAsPrecision(4); // 1.590
2。 Double.toStringAsFixed(int)
它也将数字四舍五入到小数点后,并根据您提供的int
值返回结果。
double d = 1.59;
String fixed1 = d.toStringAsFixed(1); // 1.6
String fixed2 = d.toStringAsFixed(2); // 1.59
String fixed3 = d.toStringAsFixed(3); // 1.590
String fixed4 = d.toStringAsFixed(4); // 1.5900