我需要用科学符号来表示一个值。我用这个代码,但值是四舍五入的,我不希望。。。
import com.google.gwt.i18n.client.NumberFormat;
...
Double value = Double.parseDouble("0.00000012");
String formatted = NumberFormat.getScientificFormat().format(value);
System.out.println(formatted);
结果是:
1E-7
而不是
1.2E-7
你能帮我吗?谢谢:)
3条答案
按热度按时间rkue9o1l1#
funkyjelly的答案中使用的相同格式模式应该适用于gwt
NumberFormat
类型:zpjtge222#
用你的gwtnumberformat,你能试试下面的,看看它是否有效吗(例如使用bigdecimal代替double)
fdx2calv3#
你可以达到你想要的标准
java.text.DecimalFormat
```import java.text.DecimalFormat;
...
Double value = Double.parseDouble("0.00000012");
DecimalFormat formatter = new DecimalFormat("0.#####E0");
String formatted = formatter.format(value);
System.out.println(formatted);