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

我有一个类似的双精度数字223.45654543434,我需要把它显示为0.223x10e+2

如何用Java做到这一点?


凤凰求蛊
浏览 611回答 3
3回答

缥缈止盈

您可以使用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  }}  
打开App,查看更多内容
随时随地看视频慕课网APP