Java中的 BigDecimal toString() 方法及示例
Java.math.BigDecimal.toString()方法用于表示当前调用此方法的 BigDecimal 为字符串形式,如果需要指数,则使用科学记数法。它是通过以下步骤完成的:
- BigDecimal 的标准规范字符串形式是通过使用字符'0' 到 '9' 转换以十为基数的 BigDecimal 的未缩放值的绝对值,没有前导零,除非值是 0,然后是单个字符'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 转换为字符串的示例
// 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
参考: Java : Java ()
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。