当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java BigDecimal toString()用法及代码示例



java.math.BigDecimal.toString()方法用于表示当前的BigDecimal,通过该方法将这种方法调用为String形式,并在需要指数的情况下使用科学计数法。可以通过以下步骤完成:

  • BigDecimal的标准规范字符串形式是通过使用字符'0'至'9'转换以10为底数的BigDecimal的未缩放值的绝对值来创建的,除非前者为0,否则该字符的前导零为零' 用来。
  • 接下来,计算调整后的指数,该指数比将转换后的非缩放值和否定缩放值中的字符数相加少一个。也就是说,-scale +(ulength-1),其中ulength是未缩放值的绝对值的长度(以十进制数字表示)(其精度)。
  • 然后,将字符形式的指数添加到转换后的未缩放值(可能带有小数点)的后缀。其中包括字母“ E”,紧随其后的是将调整后的指数转换为字符形式。
  • 最后,如果未缩放的值小于零,则整个字符串以减号字符“-”作为前缀。如果未缩放的值为零或正数,则不会在符号字符前添加前缀。

用法:

public String toString()

参数:此方法不接受任何参数。


返回值:此方法返回此BigDecimal数字的String表示形式。

覆盖:此方法覆盖Object类的java.lang.Object.toString()方法。

以下示例程序旨在说明在Java中toString()方法的使用

示例1:将BigDecimal转换为不带科学计数法的字符串的示例

// Java program to demonstrate 
// toString() method of BigDecimal 
  
import java.math.*; 
  
class GFG { 
    public static void main(String[] args) 
    { 
        // Creating a BigDecimal object 
        BigDecimal b; 
  
        // Object of String to hold the number 
        String input = "012345678901234567"
                       + "8901234567890123"
                       + "4567890123456789"
                       + "0123456789012345"
                       + "6789012345678901"
                       + "2345678901234567"
                       + "8901234567890123"
                       + "4567890123456789"
                       + "0123456789012345"
                       + "6789012345678901"
                       + "2345678901234567"
                       + "8901234567890123"
                       + "4567890123456789"
                       + "0123456789012345"
                       + "6789012345678901"
                       + "2345678901234567"
                       + "8901234567890123"
                       + "4554324324362432"
                       + "7674637264783264"
                       + "7832678463726478"
                       + "3264736274673864"
                       + "7364732463546354"
                       + "6354632564532645"
                       + "6325463546536453"
                       + "6546325463546534"
                       + "6325465345326456"
                       + "4635463263453264"
                       + "654632498739473"; 
  
        // Converting to BigDecimal 
        b = new BigDecimal(input); 
  
        // Apply toString() method 
        String s = b.toString(); 
  
        // Print the result 
        System.out.println(s); 
    } 
}
输出:

1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234554324324362432767463726478326478326784637264783264736274673864736473246354635463546325645326456325463546536453654632546354653463254653453264564635463263453264654632498739473

示例2:使用科学记数法将BigDecimal转换为String的示例

// Java program to demonstrate 
// toString() method of BigDecimal 
  
import java.math.*; 
  
class GFG { 
    public static void main(String[] args) 
    { 
  
        // Create a BigDecimal object 
        BigDecimal a; 
  
        // Create a String object 
        String s; 
  
        // Set precision to 5 
        MathContext mc 
            = new MathContext(5); 
  
        a = new BigDecimal("4536785E4", mc); 
  
        // apply toString() method 
        s = a.toString(); 
  
        // print the result 
        System.out.println(s); 
    } 
}
输出:
4.5368E+10

参考: https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/math/BigDecimal.html#toString()



相关用法


注:本文由纯净天空筛选整理自Rajnis09大神的英文原创作品 BigDecimal toString() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。