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

请问用科学计数法格式化双值

请问用科学计数法格式化双值

凤凰求蛊 2019-11-03 13:04:54
我有一个类似的双精度数字223.45654543434,我需要把它显示为0.223x10e+2。如何用Java做到这一点?
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

您可以使用java.text包以科学计数法显示数字。专门DecimalFormat针对java.text包装的类可用于此目的。


以下示例显示了如何执行此操作:


import java.text.*;

import java.math.*;


public class TestScientific {


  public static void main(String args[]) {

     new TestScientific().doit();

  }


  public void doit() {

     NumberFormat formatter = new DecimalFormat();


     int maxinteger = Integer.MAX_VALUE;

     System.out.println(maxinteger);    // 2147483647


     formatter = new DecimalFormat("0.######E0");

     System.out.println(formatter.format(maxinteger)); // 2,147484E9


     formatter = new DecimalFormat("0.#####E0");

     System.out.println(formatter.format(maxinteger)); // 2.14748E9



     int mininteger = Integer.MIN_VALUE;

     System.out.println(mininteger);    // -2147483648


     formatter = new DecimalFormat("0.######E0");

     System.out.println(formatter.format(mininteger)); // -2.147484E9


     formatter = new DecimalFormat("0.#####E0");

     System.out.println(formatter.format(mininteger)); // -2.14748E9


     double d = 0.12345;

     formatter = new DecimalFormat("0.#####E0");

     System.out.println(formatter.format(d)); // 1.2345E-1


     formatter = new DecimalFormat("000000E0");

     System.out.println(formatter.format(d)); // 12345E-6

  }

}  



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 606 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信