Eng*_*uad 2 java bigdecimal number-formatting exponential
如何将BigDecimal对象转换为使用指数形式的String表示?类似的东西:3.134e67?我查看了API并找到了,toEngineeringString()但它没有给我我想要的东西.
您是否阅读过NumberFormat文档,这是来自DecimalFormat:请参阅:http://docs.oracle.com/javase/1.4.2/docs/api/java/text/DecimalFormat.html
科学计数法
科学记数法中的数字表示为尾数和10的幂的乘积,例如,1234可表示为1.234×10 ^ 3.尾数通常在1.0 <= x <10.0的范围内,但不一定是.可以指示DecimalFormat仅通过模式格式化和解析科学记数法; 目前没有工厂方法可以创建科学记数法格式.在模式中,紧跟一个或多个数字字符的指数字符表示科学记数法.示例:"0.### E0"将数字1234格式化为"1.234E3".
指数字符后面的数字字符数给出最小指数位数.没有最大值.使用局部减号格式化负指数,而不是模式中的前缀和后缀.这允许诸如"0.### E0 m/s"的模式.
最小和最大整数位数一起解释:
如果最大整数位数大于其最小数且大于1,则强制指数为最大整数位数的倍数,并将最小整数位数解释为1.最常见使用它来生成工程符号,其中指数是三的倍数,例如"## 0.##### E0".使用此模式,数字12345格式为"12.345E3",123456格式为"123.456E3".
否则,通过调整指数来实现最小整数位数.示例:0.00123格式为"00.### E0",产生"12.3E-4".
尾数中的有效位数是最小整数和最大小数位的总和,并且不受最大整数位数的影响.例如,用"## 0.## E0"格式化的12345是"12.3E3".要显示所有数字,请将有效数字计数设置为零.有效位数不会影响解析.
指数模式可能不包含分组分隔符.