将长整型解析为负数

将长整型解析为负数

如果要进行大数值的数学操作,而又不想因为溢出而出问题,可以尝试使用BigDecimal类。

假设我现在想要进行以下计算:

200,000,000 * 2,000,000,000,000,000,000L * 20,000,000

int testValue = 200000000;

System.out.println("After Standard Multiplication = " +

testValue *

2000000000000000000L *

20000000);

该操作的值为-4176287866323730432,这是不正确的。

通过使用BigDecimal类,您可以消除丢失的位并获得正确的结果。

int testValue = 200000000;

System.out.println("After BigDecimal Multiplication = " +

decimalValue.multiply(

BigDecimal.valueOf(2000000000000000000L).multiply(

BigDecimal.valueOf(testValue))));

使用BigDecimal后,乘法返回正确的结果为:

80000000000000000000000000000000000

相关推荐

热血传奇为何有那么多个版本!究竟哪一个版本才是正版?
欧路词典|英汉-汉英词典 EAS是什么意思
菠菜365哪个是真的

欧路词典|英汉-汉英词典 EAS是什么意思

⌛ 07-09 👁️ 6550
掌上公交车如何开通实时查询 掌上公交如何查车
菠菜365哪个是真的

掌上公交车如何开通实时查询 掌上公交如何查车

⌛ 08-21 👁️ 8188
5、神武109到120需要多少经验
菠菜365哪个是真的

5、神武109到120需要多少经验

⌛ 07-03 👁️ 3445
厄瓜多尔进球后球员跪地指天!背后原因太催泪,厄瓜多尔总统发文:创造了历史
魔法少女泪泡
菠菜365哪个是真的

魔法少女泪泡

⌛ 10-11 👁️ 8046