尝试如下
String d=new String("12.00");
Double dble =new Double(d.valueOf(d));
System.out.println(dble);
输出: 12.0
但我想获得 12.00 精度
请告诉我在字符串类中不使用 format() 方法的正确方法
最佳答案
使用BigDecimal
而不是双:
String d = "12.00"; // No need for `new String("12.00")` here
BigDecimal decimal = new BigDecimal(d);
这是有效的,因为 BigDecimal
保持“精度”,并且 BigDecimal(String)
构造函数将其设置为 右侧的位数。
,并在 toString
中使用它。因此,如果您只是使用 System.out.println(decimal);
输出它,它会打印出 12.00
。
关于java - 如何在不损失 Java 精度的情况下将 String 转换为 Double?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15298232/