java double的大数值时,不显示成科学计数法

Double d = new Double("1234567890.12"); 
System.out.println("d:="+d);
java.text.NumberFormat nf = java.text.NumberFormat.getInstance(); 
nf.setGroupingUsed(false);
System.out.println("d:="+nf.format(d)); 


显示结果是:

d:=1.23456789012E9

d:=1234567890.12


看看NumberFormat的帮助

首先要知道你是用什么语言输出,不同的语言,说用到的方法是不同的!我是学java的告诉你java的格式化输出吧

主要使用的类:java.text.DecimalFormat

  1。实例化对象,可以用如下两种方法:

  DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();

  DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();

  因为DecimalFormat继承自NumberFormat。

  2。设定小数位数

  系统默认小数位数为3,如:

  DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();

  System.out.println(df.format(12.3456789));

  输出:12.346

  现在可以通过如下方法把小数为设为两位:

  df.setMaximumFractionDigits(2);

  System.out.println(df.format(12.3456789));

  则输出为:12.35

补充:

C#格式化的方法应该是string.Format这个方法,具体见


你可能感兴趣的:(java double的大数值时,不显示成科学计数法)