我在转换方面遇到了一些麻烦,但以下代码有时会转换为错误
double d = Double.parseDouble(results.get(position)); // Also accepts format like "1.574e10"
Log.e("test",String.valueOf(d));
String s1= String.format("%f",d);
Log.e("test",s1);
这是转换没有工作的示例
08-28 12:15:53.679: E/test(22754): 1.4910315055357396E-9
08-28 12:15:53.679: E/test(22754): 0,000000
答案 0 :(得分:2)
问题是你的双倍非常小,默认情况下%f在小数点后仅打印 6 数字。
改为使用:
String s1 = String.format("%.10f", d);
答案 1 :(得分:0)
将double格式化为字符串的正确方法是:
String.format("%1$,.4f", myDouble)
上面的例子给出了4位小数的准确度。格式化double的另一种方法是使用DecimalFormat:
DecimalFormat df = new DecimalFormat("#.##");
String number = df.format(543.235555);