Java.math.BigDecimal.toString() 方法



描述

java.math.BigDecimal.toString() 方法返回此 BigDecimal 的字符串表示形式,如果需要指数则使用科学计数法。

BigDecimal 的标准规范字符串形式是通过以下步骤创建的:首先,将 BigDecimal 的未缩放值的绝对值转换为以十为底的字符串,使用字符 '0' 到 '9',不包含前导零(除非其值为零,在这种情况下使用单个 '0' 字符)。

接下来,计算调整后的指数;这是负的 scale 值,加上转换后的未缩放值中的字符数,再减一。也就是说,-scale+(ulength-1),其中 ulength 是未缩放值的绝对值以十进制数字表示的长度(其精度)。

如果 scale 大于或等于零,并且调整后的指数大于或等于 -6,则该数字将转换为不使用指数表示法的字符形式。

在这种情况下,如果 scale 为零,则不添加小数点;如果 scale 为正数,则将插入一个小数点,scale 指定小数点右侧的字符数。根据需要,将 '0' 字符添加到转换后的未缩放值的左侧。如果插入后小数点前面没有字符,则在前面添加常规的 '0' 字符。

否则(即,如果 scale 为负数,或调整后的指数小于 -6),则该数字将转换为使用指数表示法的字符形式。在这种情况下,如果转换后的 BigInteger 超过一位数字,则在第一位数字后插入一个小数点。

然后将字符形式的指数附加到转换后的未缩放值(可能包含插入的小数点);它包括字母 'E',后跟立即转换后的调整指数的字符形式。

后者是以十为底,使用字符 '0' 到 '9',不包含前导零,如果调整后的指数为负数,则始终以符号字符 '-' ('\u002D') 为前缀;否则为 '+' ('\u002B')。

最后,如果未缩放的值小于零,则整个字符串以减号字符 '-' ('\u002D') 为前缀。如果未缩放的值为零或正数,则不添加任何符号字符。

声明

以下是java.math.BigDecimal.toString() 方法的声明。

public String toString()

覆盖

Object 类中的 toString 方法。

参数

返回值

此方法返回此 BigDecimal 的字符串表示形式。

异常

示例

以下示例演示了 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
java_math_bigdecimal.htm
广告
© . All rights reserved.