Метод BigDecimal toString () в Java с примерами

Опубликовано: 7 Февраля, 2022


Метод java.math.BigDecimal.toString () используется для представления текущего BigDecimal, с помощью которого этот метод вызывается в строковой форме, используя научную нотацию, если требуется показатель степени. Это делается следующими шагами:

  • Стандартная каноническая строковая форма BigDecimal создается путем преобразования абсолютного значения немасштабированного значения BigDecimal в десятичную систему с использованием символов от «0» до «9» без начальных нулей, кроме случаев, когда значение равно 0, а затем одиночного символа «0». ' используется.
  • Затем вычисляется скорректированная экспонента, которая на единицу меньше, чем добавление количества символов в преобразованном немасштабированном значении и отрицательном значении шкалы. То есть -scale + (ulength-1), где ulength - длина абсолютного значения немасштабированного значения в десятичных разрядах (его точность).
  • Затем к преобразованному немасштабированному значению добавляется суффикс экспоненты в символьной форме (возможно, со вставленной десятичной точкой). Он состоит из буквы «E», за которой сразу следует скорректированная экспонента, преобразованная в символьную форму.
  • Наконец, перед всей строкой ставится знак минуса '-', если немасштабированное значение меньше нуля. Знаковый символ не добавляется, если немасштабированное значение равно нулю или положительно.

Синтаксис:

общедоступная строка toString ()

Параметр: этот метод не принимает никаких параметров.

Возвращаемое значение: этот метод возвращает строковое представление этого числа BigDecimal.

Переопределения: этот метод переопределяет метод java.lang.Object.toString () класса Object.

Ниже программы иллюстрируют использование метода toString () в java.

Example 1: Example to convert BigDecimal into String without Scientific notation

// 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);
    }
}
Output:

1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234554324324362432767463726478326478326784637264783264736274673864736473246354635463546325645326456325463546536453654632546354653463254653453264564635463263453264654632498739473

Example 2: Example to convert BigDecimal into String with Scientific notation

// 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);
    }
}
Output:
4.5368E+10

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

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

Next
BigDecimal Class in Java
Recommended Articles
Page :
Article Contributed By :
Rajnis09
@Rajnis09
Vote for difficulty
Article Tags :
  • Java-BigDecimal
  • Java-Functions
  • Java-math-package
  • Java
Practice Tags :
  • Java
Report Issue
Java

РЕКОМЕНДУЕМЫЕ СТАТЬИ