为了账号安全,请及时绑定邮箱和手机立即绑定

[GWT][Java] 科学记数法自动舍入?

[GWT][Java] 科学记数法自动舍入?

慕妹3146593 2022-06-04 15:27:31
我需要使用科学记数法来表示一个值。我使用此代码,但值是四舍五入的,我不希望这样......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 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

您可以通过标准实现您想要的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


查看完整回答
反对 回复 2022-06-04
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

使用您的 GWT NumberFormat,您可以尝试以下方法,看看它是否有效?(例如使用 BigDecimal 而不是 Double)

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



查看完整回答
反对 回复 2022-06-04
?
RISEBY

TA贡献1856条经验 获得超5个赞

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);


查看完整回答
反对 回复 2022-06-04
  • 3 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号