如何将字符串转换为double

时间:2014-12-01 09:41:13

标签: java hashmap double type-conversion

  double d=0.0;
    for (String k : word.keySet()) {
        System.out.println(k + "\t" + word.get(k));           
        d+=Double.valueOf(word.get(k));
        d+=word.get(k);
        word.get(k);
    }
  System.out.println("Value\t"+d);

值在hashmap中。第5行发生不兼容的类型错误。如何纠正它?

5 个答案:

答案 0 :(得分:6)

如果d+=Double.valueOf(word.get(k)); 可解析,则Double行会正确地将word.get(k) double dString添加到DoubleString

然后,它之后的行将get添加到double,这将不会编译。

你的循环中的最后一行没有任何意义,你在没有实际使用该值的情况下调用{{1}}。

答案 1 :(得分:0)

您可以使用Double.parseDouble()

例如:

String str="2.25";
double d=Double.parseDouble(str);
System.out.println(d);

答案 2 :(得分:0)

您可以将String值转换为Double -

double latitu=Double.parseDouble("21.2186653");

答案 3 :(得分:0)

如果错误在第5行,那是因为你试图用双d添加设置字中的任何内容。 Java不知道你在set字中有什么,所以如果单词是double的一组,你可以输入cast。否则你必须解析“word.get(k)”返回的双精度。

尝试d + =(double)word.get(k),如果word是一组double 或d + = double.valueOf(word.get(k))。如果你在设定词中有字符串。

答案 4 :(得分:0)

在第5行示例代码中,您尝试使用double添加字符串值。这就是你收到错误的原因

使用

d += Double.parseDouble(word.get(k));

而不是

d+=word.get(k)