double
、float
类型超出7位以上,就会自动的显示科学计数法问题
解决方法:
将数据转化成BigDecimal
类型,但是,如果需要数字为字符串形式,BigDecimal.toString()
可能还会显示科学计数法,所有如果需要纯数字字符串使用BigDecimal.toPlainString()
方法。
示例:展示了double
类型,但是float
类型同理。
//double 类型
double numberDouble = 123456198809090000d;
System.out.println("numberDouble => "+numberDouble);
//String 类型
String numberStr = Double.toString(numberDouble);
System.out.println("numberStr => "+numberStr);
//BigDecimal 类型
BigDecimal bigDecimal = new BigDecimal(numberStr);
System.out.println("BigDecimal.toString() => "+bigDecimal);
System.out.println("BigDecimal.toPlainString() => "+bigDecimal.toPlainString());
返回结果: