将电源转换为数字时,数字格式不好

时间:2014-08-28 10:18:22

标签: java android

我在转换方面遇到了一些麻烦,但以下代码有时会转换为错误

        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

2 个答案:

答案 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);