Java.math.BigDecimal.toString()方法实例
java.math.BigDecimal.toString() 返回此BigDecimal的字符串表示形式,用科学记数法,如果需要指数。
BigDecimal的标准规范字符串形式创建,就好像通过以下步骤:第一,BigDecimal的非标度值的绝对值用字符'0'到'9',没有被转换为一个字符串基地10零(除非它的值是零,在这种情况下,一个单一的'0'字符被使用)。
接下来,计算调整的指数;这是无效的标度,加上字符的转换的标度值,减1的次数。也就是说,-scale+(ulength-1),其中ulength是十进制数字(其精度)的非标度值的绝对值的长度。
如果该比例大于或等于零,并且调整的指数大于或等于-6,该号码将被转换为字符的形式,而无需使用指数表示法。
在这种情况下,如果该比例是零,则没有小数点被添加和如果规模正小数点将被插入的规模指定的字符数的小数点的右边。 '0'字符添加到转换的非标度值的左侧是必要的。如果前面没有字符,小数点这个插入之后再传统的'0'字符作为前缀。
否则(即,如果该比例是负的,或经调整的指数小于-6),该号码将被采用指数表示法转换为字符形式。在这种情况下,如果转换后的BigInteger有一个以上的位小数点第一位数字后插入。
在字符形式的指数,然后后缀转换非标度值(也许插入小数点);这包含字母“E”后面立刻被调整的指数转换为字符形式。
后者的基数为十,使用字符'0'到'9',没有前导零,并且总是由前缀符号字符' - '(' u002D'),如果调整后的指数为负数,否则为'+'(' u002B')。
' - '最后,整个字符串由一个减号字符的前缀(' u002D')如果非标度值小于零。如果非标度值为零或正数无符号字符作为前缀。
声明
以下是java.math.BigDecimal.toString()方法的声明
public String toString()
重写
-
toString in class Object
参数
-
NA
返回值
此方法返回BigDecimal的字符串表示形式
异常
-
NA
例子
下面的例子显示math.BigDecimal.toString()方法的用法
package com.yiibai; import java.math.*; public class BigDecimalDemo { public static void main(String[] args) { // create a BigDecimal object BigDecimal bg; // create a String object String s; MathContext mc = new MathContext(3); // 3 precision bg = new BigDecimal("1234E4", mc); // assign the string value of bg to s s = bg.toString(); String str = "String value of " + bg + " is " + s; // print s value System.out.println( str ); } }
让我们编译和运行上面的程序,这将产生以下结果:
String value of 1.23E+7 is 1.23E+7