将字符串转换为double并获取double的原始值

时间:2015-10-13 06:20:15

标签: java string double

我想将我的值从字符串转换为double:

String mystring = "0.0100";
Double d = Double.parseDouble(mystring);

此字符串来自我的edittext。

问题我的输入字符串 0.0100 但是当我将其转换为double时,它只给我 0.01

如何从双倍中获取原始字符串?

我需要按照示例的所有零。

4 个答案:

答案 0 :(得分:1)

简单的答案是“你不能使用Double”。

"double"值以二进制形式存储。跟踪十进制零的想法,如106.4000,在“双”值中没有意义。

您的问题听起来像是BigDecimal

的工作
 public static void main(String[] args) {
        String mystring = "0.0100";
        Double d = Double.parseDouble(mystring);
        System.out.println("Double : "+d);

        BigDecimal bigDecimal = new BigDecimal(mystring);
        System.out.println("BigDecimal : "+bigDecimal);
    }

<强>输出

Double : 0.01
BigDecimal : 0.0100

答案 1 :(得分:0)

使用以下代码,它可能会对您有所帮助。

.csv

答案 2 :(得分:0)

double存储浮点值。四个小数位的概念和右边的0填充是显示问题(即,与值分开)。因此,请以某种方式获取您的价值并进行格式化,例如

System.out.printf("%.4f, d");

答案 3 :(得分:0)

使用BigDecimal

String mystring = "0.0100";
BigDecimal b =  BigDecimal(mystring);

System.out.println("Value b: "+b);//"0.0100"