Java BigDecimal到工程字符串不工作

Java BigDecimal到工程字符串不工作,java,android,Java,Android,我想使用toEngineeringString()但它不起作用: Log.v("smslms",BigDecimal.valueOf(1_000_0000_000_000_000L).toEngineeringString());` 输出: 09-11 16:26:12.221 18492-18492/skarwild.game V/smslms﹕ 10000000000000000 它的行为完全如下所示: 返回表示toString()方法中所述的BigDecimal的字符串,但如果使用指

我想使用
toEngineeringString()
但它不起作用:

Log.v("smslms",BigDecimal.valueOf(1_000_0000_000_000_000L).toEngineeringString());`
输出:

09-11 16:26:12.221  18492-18492/skarwild.game V/smslms﹕ 10000000000000000
它的行为完全如下所示:

返回表示toString()方法中所述的BigDecimal的字符串,但如果使用指数表示法,则将十的幂调整为三的倍数(工程表示法),这样非零值的整数部分将在1到999之间

现在
toString()
指定:

BigDecimal的标准规范字符串形式是通过以下步骤创建的:首先,BigDecimal的无标度值的绝对值被转换为以十为底的字符串,使用字符“0”到“9”,不带前导零(除非其值为零,在这种情况下使用单个“0”字符)

接下来,计算调整后的指数;这是反比例,加上转换后的未缩放值中的字符数,再减去一。即,-scale+(ULENGHT-1),其中ULENGHT是未标度值的绝对值的长度,以十进制数字表示(其精度)

如果刻度大于或等于零,且调整后的指数大于或等于-6,则数字将转换为字符形式,而不使用指数表示法

在我们的例子中,标度是0,所以调整后的指数是16(或大约16)。因此,该值将转换为字符形式,而不使用指数表示法。

它的行为完全如下所示:

返回表示toString()方法中所述的BigDecimal的字符串,但如果使用指数表示法,则将十的幂调整为三的倍数(工程表示法),这样非零值的整数部分将在1到999之间

现在
toString()
指定:

BigDecimal的标准规范字符串形式是通过以下步骤创建的:首先,BigDecimal的无标度值的绝对值被转换为以十为底的字符串,使用字符“0”到“9”,不带前导零(除非其值为零,在这种情况下使用单个“0”字符)

接下来,计算调整后的指数;这是反比例,加上转换后的未缩放值中的字符数,再减去一。即,-scale+(ULENGHT-1),其中ULENGHT是未标度值的绝对值的长度,以十进制数字表示(其精度)

如果刻度大于或等于零,且调整后的指数大于或等于-6,则数字将转换为字符形式,而不使用指数表示法

在我们的例子中,标度是0,所以调整后的指数是16(或大约16)。因此,该值将转换为字符形式,而不使用指数表示法。

它的行为完全如下所示:

返回表示toString()方法中所述的BigDecimal的字符串,但如果使用指数表示法,则将十的幂调整为三的倍数(工程表示法),这样非零值的整数部分将在1到999之间

现在
toString()
指定:

BigDecimal的标准规范字符串形式是通过以下步骤创建的:首先,BigDecimal的无标度值的绝对值被转换为以十为底的字符串,使用字符“0”到“9”,不带前导零(除非其值为零,在这种情况下使用单个“0”字符)

接下来,计算调整后的指数;这是反比例,加上转换后的未缩放值中的字符数,再减去一。即,-scale+(ULENGHT-1),其中ULENGHT是未标度值的绝对值的长度,以十进制数字表示(其精度)

如果刻度大于或等于零,且调整后的指数大于或等于-6,则数字将转换为字符形式,而不使用指数表示法

在我们的例子中,标度是0,所以调整后的指数是16(或大约16)。因此,该值将转换为字符形式,而不使用指数表示法。

它的行为完全如下所示:

返回表示toString()方法中所述的BigDecimal的字符串,但如果使用指数表示法,则将十的幂调整为三的倍数(工程表示法),这样非零值的整数部分将在1到999之间

现在
toString()
指定:

BigDecimal的标准规范字符串形式是通过以下步骤创建的:首先,BigDecimal的无标度值的绝对值被转换为以十为底的字符串,使用字符“0”到“9”,不带前导零(除非其值为零,在这种情况下使用单个“0”字符)

接下来,计算调整后的指数;这是反比例,加上转换后的未缩放值中的字符数,再减去一。即,-scale+(ULENGHT-1),其中ULENGHT是未标度值的绝对值的长度,以十进制数字表示(其精度)

如果刻度大于或等于零,且调整后的指数大于或等于-6,则数字将转换为字符形式,而不使用指数表示法

在我们的例子中,标度是0,所以调整后的指数是16(或大约16)。因此,该值被转换为字符形式,而不使用指数符号。

请注意,数字中的一个“部分”有四个0英寸,顺便说一句。您的意思是吗?请注意,数字中的一个“部分”有四个0英寸,顺便说一句。您的意思是吗?请注意,数字中的一个“部分”有四个0英寸,顺便说一句。你是故意的吗?请注意,数字中的一个“部分”有四个0英寸,顺便说一句。