Java.math.BigDecimal.toString() 方法
描述
java.math.BigDecimal.toString() 返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用科学记数法。
BigDecimal 的标准规范字符串形式是通过以下步骤创建的:首先,使用字符"0"到"9"将 BigDecimal 未缩放值的绝对值转换为以十为底的字符串 没有前导零(除非它的值为零,在这种情况下使用单个"0"字符)。
接下来,计算调整后的指数; 这是取反的比例,加上转换后的未缩放值中的字符数,减去一。 即,-scale+(ulength-1),其中 ulength 是十进制数字中未缩放值的绝对值的长度(其精度)。
如果小数位数大于等于 0 且调整后的指数大于等于 -6,则不使用指数符号将数字转换为字符形式。
在这种情况下,如果比例为零,则不添加小数点,如果比例为正,则会插入小数点,比例指定小数点右侧的字符数。 必要时将"0"字符添加到转换后的未缩放值的左侧。 如果在此插入之后小数点之前没有字符,则以常规的"0"字符为前缀。
否则(即,如果比例为负,或调整后的指数小于 -6),则将使用指数表示法将数字转换为字符形式。 在这种情况下,如果转换后的 BigInteger 多于一位,则在第一位后插入小数点。
然后将字符形式的指数后缀为转换后的未缩放值(可能插入小数点); 这包括字母"E",紧随其后的是转换为字符形式的调整指数。
后者以 10 为底,使用字符 '0' 到 '9',不带前导零,如果调整后的指数为负,则始终以符号字符 '-' ('\u002D') 为前缀,'+' ( '\u002B') 否则。
最后,如果未缩放的值小于零,则整个字符串以减号字符 '-' ('\u002D') 为前缀。 如果未缩放的值为零或正数,则没有符号字符前缀。
声明
以下是 java.math.BigDecimal.toString() 方法的声明。
public String toString()
Overrides
类 Object 中的 toString。
参数
NA
返回值
此方法返回此 BigDecimal 的字符串表示形式。
异常
NA
示例
下面的例子展示了 math.BigDecimal.toString() 方法的使用。
package com.tutorialspoint; 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