首页 > 解决方案 > 存储在 mysql 数据库中的双值更改

问题描述

我有以下代码将我的 satoshi 值转换为比特币值:

private static double satToBtc(long sat){
        return sat / Math.pow(10, 8);
    }

现在我执行以下代码:

            double btc = satToBtc(value);
            User user = User.getUserByDepositBitcoinAddress(address);
            if (user == null) return;
            try (Connection connection = MySQL.getConnection();
                 ...
 
                statement.setDouble(3, btc);
                ...

                return;
            }

现在发生的事情是,我得到了 100,000 的 satoshi 数量,价值 0.001(该函数完全返回0.001)比特币,但是​​当我将它存储在我的 mysql 表中时,它将值设置为:0.00000001

我该如何解决这个问题?

编辑 - 更新satToBtc功能:

    private static BigDecimal satToBtc(long sat){
        return new BigDecimal(sat / Math.pow(10, 8));
    }

标签: javamysqlbitcoincryptocurrency

解决方案


推荐阅读