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()
相关用法
- Java BigDecimal add()用法及代码示例
- Java BigDecimal pow()用法及代码示例
- Java BigDecimal setScale()用法及代码示例
- Java BigDecimal divideAndRemainder()用法及代码示例
- Java BigDecimal divide()用法及代码示例
- Java BigDecimal remainder()用法及代码示例
- Java BigDecimal toPlainString()用法及代码示例
- Java BigDecimal sqrt()用法及代码示例
- Java BigDecimal toEngineeringString()用法及代码示例
- Java BigDecimal floatValue()用法及代码示例
- Java BigDecimal divideToIntegralValue()用法及代码示例
- Java BigDecimal subtract()用法及代码示例
- Java AtomicIntegerArray toString()用法及代码示例
- Java LongSummaryStatistics toString()用法及代码示例
- Java Class toString()用法及代码示例
注:本文由纯净天空筛选整理自Rajnis09大神的英文原创作品 BigDecimal toString() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。