java的double的大数值时 怎么才能不显示成科学计数法 – fengyee_zju的专栏 – 博客频道 – CSDN.NET

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这个方法,具体见

来源URL:http://cache.baiducontent.com/c?m=9d78d513d99b12eb0bfa950e1a67a4716d22971539c0a61168d5e35fe3674c364171e2cb703657448dca262147ed5e5d99ed2b22695e75a09bbfd90b8be7852858d470726d48d11d47984ef8dc41518978d747baef5fbcebae658ef885958c0f0d8b4e0e7a82f7885e0b&p=ce7ddc1187904ead00bd9b7e0e1294&newp=8f338916d9c118fb43bd9b7e0e1291231610db2151d4d111268088&user=baidu&fm=sc&query=java%CA%FD%D7%D6%B1%E4e&qid=9297c30a001079a1&p1=4