[GWT]【JAVA]科学记数法自动四舍五入?

问题描述 投票:0回答:3

我需要用科学记数法表示的数值。我用这个代码,但该值是圆,我不想说......

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

你可以帮帮我吗?谢谢 :)

java gwt number-formatting
3个回答
2
投票

在funkyjelly的答案应该用用GWT的NumberFormat型工作的格式相同的模式:

import com.google.gwt.i18n.client.NumberFormat;
...
Double value = Double.parseDouble("0.00000012");
String formatted = NumberFormat.getFormat("0.#####E0").format(value);
System.out.println(formatted);

0
投票

有了您的GWT NumberFormat的,你可以尝试以下,看看它是否起作用? (例如,使用BigDecimal的代替双)

System.out.println(NumberFormat.getScientificFormat().format(new BigDecimal("0.00000012")));

0
投票

你可以达到你想要的标准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);

这种打印出:1.2E-7

© www.soinside.com 2019 - 2024. All rights reserved.