Ang*_*own 0 java variables double bigdecimal
我试图在 java 程序中使用 Advogadro 的数字 (6.022*10^23),我使用 BigDecimal 变量来存储它。但是我想将它与 int 或 double 相乘并仍然保持精度,但它会引发错误!
bad operand types for binary operator '*'
first type: double
second type: BigDecimal
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法可以做到这一点?还有一种方法可以用科学记数法打印结果吗?
提前致谢!
操作仅支持原始类型(和 + 用于字符串)
BigDecimals 已将操作实现为函数。
您只能使用 BigDecimals 进行 BigDecimals 运算。所以你需要转换你的双值:
BigDecimal result = new BigDecimal(doubleValue).multiply(factor2);
Run Code Online (Sandbox Code Playgroud)