我如何能转换一个字符串,如“12.34”到双在Java?
当前回答
试试这个, BigDecimal bdVal = new BigDecimal(str);
如果你想要双倍,那就试试 Double d = Double. valueof (str); System.out.println (String.format(“%。3f", new BigDecimal(d)));
其他回答
String double_string = "100.215";
Double double = Double.parseDouble(double_string);
使用新的BigDecimal(string)。这将保证以后的正确计算。
作为一个经验法则-总是使用BigDecimal敏感的计算,如金钱。
例子:
String doubleAsString = "23.23";
BigDecimal price = new BigDecimal(doubleAsString);
BigDecimal total = price.plus(anotherPrice);
double d = Double.parseDouble(aString);
这将把字符串aString转换为双d。
您只需要使用Double解析String值
String someValue= "52.23";
Double doubleVal = Double.parseDouble(someValue);
System.out.println(doubleVal);
如果在将字符串解析为十进制值时遇到问题,则需要将数字中的“,”替换为“”。
String number = "123,321";
double value = Double.parseDouble( number.replace(",",".") );
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- Printf与std::字符串?
- 在Jar文件中运行类
- 带参数的可运行?
- 不区分大小写的“in”
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- 如何在PHP中截断字符串最接近于一定数量的字符?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作