java中数值类型转换的问题,double类型显示科学计数法了。

2022-03-30 教育 296阅读

在显示时候调用的是Double类的toString()方法。原因如下:

而Double的toString()方法实际是调用了FloatingDecimal类的toJavaFormatString()方法,如下图

研究源码发现:科学计数法展示是因为FloatingDecimal类的decExponent属性

那么decExponent属性究竟是什么呢?简单来说,

就是小数点向左移动decExponent就是正数,向右移动就是负数。移动几位就是几。

而具体移动规则是移动到小数点左边为0,右边为非0时候停止。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com