gpt4 book ai didi

java - 如何使用 BigInteger 和小数?

转载 作者:搜寻专家 更新时间:2023-11-01 01:04:10 25 4
gpt4 key购买 nike

如何将小数与双整数一起使用?

我会怀疑我的写作方式,但它失败了:

@Test
public void bigIntegerTestCalcs() {
BigInteger a = new BigInteger("20");
BigInteger b = new BigInteger("20.20");
BigInteger result = a.add(b);

assertEquals(new BigInteger("40.20"), result);
}

失败:

java.lang.NumberFormatException: For input string: "20.20"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.math.BigInteger.<init>(BigInteger.java:338)
at java.math.BigInteger.<init>(BigInteger.java:476)
at src.test.unit.CalculatorTest.bigIntegerTestCalcs(CalculatorTest.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:66)
at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:105)
at org.unitils.UnitilsJUnit4TestClassRunner$TestListenerInvokingMethodRoadie.runTestMethod(UnitilsJUnit4TestClassRunner.java:174)
at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:86)
at [...]

最佳答案

BigInteger b = new BigInteger("20.20");

20.20 不是整数。

你想要的是:

BigDecimal b = new BigDecimal("20.20");

关于java - 如何使用 BigInteger 和小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com