El método java.math.BigDecimal .toString() se usa para representar el BigDecimal actual mediante el cual se llama a este método en forma de string, usando notación científica si se necesita un exponente. Se realiza siguiendo los siguientes pasos:
- Se crea una forma de string canónica estándar de BigDecimal al convertir el valor absoluto del valor sin escala de BigDecimal en base diez utilizando los caracteres ‘0’ a ‘9’ sin ceros a la izquierda, excepto cuando el valor es 0, luego el carácter único ‘0 ‘ se utiliza.
- A continuación, se calcula un exponente ajustado que es uno menos que la suma del número de caracteres en el valor sin escala convertido y el valor de escala negado. Es decir, -scale + (ulength-1), donde ulength es la longitud del valor absoluto del valor sin escalar en dígitos decimales (su precisión).
- Luego, se agrega un exponente en forma de carácter al valor sin escala convertido (quizás con un punto decimal insertado). Esto comprende la letra ‘E’ seguida inmediatamente por el exponente ajustado convertido a una forma de carácter.
- Finalmente, toda la string tiene como prefijo un carácter de signo menos ‘-‘ si el valor sin escalar es menor que cero. No se antepone ningún carácter de signo si el valor sin escalar es cero o positivo.
Sintaxis:
public String toString()
Parámetro: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve la representación de string de este número BigDecimal.
Anulaciones: este método anula el método java.lang.Object .toString() de la clase Object.
Los siguientes programas ilustran el uso del método toString() en Java
Ejemplo 1: Ejemplo para convertir BigDecimal en String sin notación científica
// 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); } }
// 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); } }