rdgc.net
当前位置:首页 >> DouBlE 科学计数 >>

DouBlE 科学计数

BigDecimal 类可以实现 double a1= 1313/7799201.0;System.out.println(a1);//科学计数法BigDecimal bg = new BigDecimal(a1);System.out.println(bg);//普通的计数法输出 1.6835057847592336E-40.00016835057847592335786984785173103773558977...

double是一个双精度实数类型,范围可在1.7E-308~1.7E+308,比float类型精度要高。一千万的数值位数已经很高了,不可能再写下去。为了书写方便以及在内存中的占位用科学计数比较方便。

//d为你的科学计数double的数字BigDecimal b = new BigDecimal(d).toPlainString();

你好,可以使用java.text.DecimalFormat ,格式化数字,比如 1 2 3 4 5 6 double a = 2.3659874; //小数格式化,引号中的0.000表示保留小数点后三位(第四位四舍五入) DecimalFormat df = new DecimalFormat("0.000"); String num = df.format(...

double类型直接打印或者输出的时候,如果数值过大就会转换成科学计数法,所以要自己定义方法,将double类型的值格式化输出,转换成你想要的格式的字符串就可以了

double stt=0.2546; DecimalFormat format=new DecimalFormat("#,##0.00"); BigDecimal bigDecimal=new BigDecimal(stt); System.out.println(format.format(stt)); System.out.println(bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP)+"");

这个是自动的,如果是字太大才会自动使用科学计数法。如果你只是想得到非科学技术发的字符串,转换成字符串使用一些字符串的编辑方法就好了。

只有输出的时候、显示的时候,才显示到位数 变量时、保存成double的时候。。。。。。。。。没有小数点位数的

可以先用BigDecimal保存这个double,需要使用的时候再转为double. public static void main(String[] args) { BigDecimal bigDecimal = new BigDecimal("123456789.123456789"); String result = bigDecimal.toString(); System.out.println(res...

str.Format("%e", double(xxx));

网站首页 | 网站地图
All rights reserved Powered by www.rdgc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com