bigdecimaljava最⼤值_BigDecimal
将 BigDecimal 的字符串表⽰形式转换为 BigDecimal。字符串表⽰形式由可选符号 '+' ('\u002B') 或 '-' ('\u002D') 组成,后跟零或多个⼗进制数字(“整数”)的序列,可以选择后跟⼀个⼩数,也可以选择后跟⼀个指数。
该⼩数由⼩数点以及后跟的零或更多⼗进制数字组成。字符串必须⾄少包含整数或⼩数部分中的⼀个数字。由符号、整数和⼩数部分组成的数字称为有效位数。
指数由字符 'e'('\u0065') 或 'E' ('\u0045') 以及后跟的⼀个或多个⼗进制数字组成。指数的值必须位于 Integer.MAX_VALUE (Integer.MIN_VALUE+1) 和 Integer.MAX_VALUE(包括)之间。
更正式地说,以下语法描述了此构造⽅法接受的字符串:BigDecimalString:Signopt Significand ExponentoptSign:+
-Significand:IntegerPart .FractionPartopt
. FractionPart
IntegerPartIntegerPart:
Digits
FractionPart:
Digits
Exponent:
ExponentIndicator SignedInteger
ExponentIndicator:e
ESignedInteger:
Signopt Digits
Digits:
Digit
Digits Digit
Digit:Character.isDigit(char) 对其返回 true 的任何字符,如 0、1、2……
bigdecimal转换为integer返回的 BigDecimal 的标度将是⼩数部分中的数字位数,如果该字符串不包含⼩数点,则标度为零,这取决于对指数的调整;如果字符串包含⼀个指数,则从标度减去该指数。得到的标度值必须位于 Integer.MIN_VALUE 和 Integer.MAX_VALUE(包括)之间。
Character.digit(char, int) 集提供从字符到数字的映射,以转换成基数 10。该字符串不能包含任何额外字符(例如,空⽩)。
⽰例:
返回的 BigDecimal 的值等于有效位数 × 10指数。对于左边的每个字符串,得到的表⽰形式 [BigInteger, scale] 显⽰在右边。"0" [0,0]
"0.00" [0,2]
"123" [123,0]
"-123" [-123,0]
"1.23E3" [123,-1]
"1.23E+3" [123,-1]
"12.3E+7" [123,-6]
"12.0" [120,1]
"12.3" [123,1]
"0.00123" [123,5]
"-1.23E-12" [-123,14]
"1234.5E-4" [12345,5]
"0E+7" [0,-7]
"-0" [0,0]
注:对于不是 float、double NaN 和 ±Infinity 的值,此构造⽅法与 String(float) 和 String(double) 返回的值兼容。这通常是将 float 或 double 转换为 BigDecimal 的⾸选⽅法,因为它不会遇到 BigDecimal(double) 构造⽅法的不可预知问题。
参数:val - BigDecimal 的字符串表⽰形式。抛出:val 不是 BigDecimal 的有效表⽰形式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。