我如何能转换一个字符串,如“12.34”到双在Java?


当前回答

String s = "12.34";
double num = Double.valueOf(s);

其他回答

使用新的BigDecimal(string)。这将保证以后的正确计算。

作为一个经验法则-总是使用BigDecimal敏感的计算,如金钱。

例子:

String doubleAsString = "23.23";
BigDecimal price = new BigDecimal(doubleAsString);
BigDecimal total = price.plus(anotherPrice);

再次引用上面Robertiano的引用-因为这是迄今为止最通用和本地化自适应的版本。它值得一个完整的帖子!

另一个选择:

DecimalFormat df = new DecimalFormat(); 
DecimalFormatSymbols sfs = new DecimalFormatSymbols();
sfs.setDecimalSeparator(','); 
df.setDecimalFormatSymbols(sfs);
double d = df.parse(number).doubleValue();

要将字符串转换回double类型,请尝试以下操作

String s = "10.1";
Double d = Double.parseDouble(s);

parseDouble方法将达到预期的效果,Double.valueOf()方法也是如此。

你可以使用double . parsedouble()将String转换为double类型:

String text = "12.34"; // example String
double value = Double.parseDouble(text);

对于你的案例,它看起来像你想要:

double total = Double.parseDouble(jlbTotal.getText());
double price = Double.parseDouble(jlbPrice.getText());

试试这个, BigDecimal bdVal = new BigDecimal(str);

如果你想要双倍,那就试试 Double d = Double. valueof (str); System.out.println (String.format(“%。3f", new BigDecimal(d)));