比特币Java RPC客户端-无法创建原始事务

比特币Java RPC客户端-无法创建原始事务,java,java-8,bitcoin,Java,Java 8,Bitcoin,我正在使用比特币RPC客户端的java实现。 当我使用int类型调用createRawTransaction时,按预期创建原始事务: BitcoindRpcClient.TxOutput txOut1 = new BitcoindRpcClient.BasicTxOutput(issuerAddress, new BigDecimal(1)); 当我尝试使用double value而不是int时: BitcoindRpcClient.TxOutput t

我正在使用比特币RPC客户端的java实现。
当我使用int类型调用
createRawTransaction
时,按预期创建原始事务:

BitcoindRpcClient.TxOutput txOut1 = new BitcoindRpcClient.BasicTxOutput(issuerAddress,
                    new BigDecimal(1));
当我尝试使用double value而不是int时:

BitcoindRpcClient.TxOutput txOut1 = new BitcoindRpcClient.BasicTxOutput(issuerAddress,
                    new BigDecimal(1.2));
我收到此错误:
无效金额

当我使用
比特币cli
进行尝试时,它可以正常工作

:I;我正在处理本地testnet区块链

的输出:

System.out.println(new BigDecimal(1.2));
System.out.println(BigDecimal.valueOf(1.2));
是:

因此,简单的答案是使用首选的方法转换双精度:
BigDecimal.valueOf(1.2)

长答案是浮点数很复杂,
double
是1.2

输出的近似值:

System.out.println(new BigDecimal(1.2));
System.out.println(BigDecimal.valueOf(1.2));
是:

因此,简单的答案是使用首选的方法转换双精度:
BigDecimal.valueOf(1.2)

答案很长,浮点数很复杂,
double
是1.2的近似值