gpt4 book ai didi

java - 无法将 Double 数字放入 BigDecimal 变量中

转载 作者:行者123 更新时间:2023-12-01 07:24:24 25 4
gpt4 key购买 nike

我正在使用一个 Double 变量来保存商品价格。该变量存储在 postgresql 数据库中的 Money 类型列下。我使用 setBigDecimal(position,value) SQL 函数。在其他部分,我使用 JSpinner 作为输入。

Double current = 0.0;
Double min = (double) Integer.MIN_VALUE;
Double max = (double) Integer.MAX_VALUE;
Double step = 0.1;

JSpinner priceSpinner = new JSpinner(new SpinnerNumberModel(current, min, max, step));

当用户点击按钮时,我获取用户输入的值并通过 SQL 查询将其放入数据库中。

 insertStmt.setBigDecimal(position,BigDecimal.valueOf((double) priceSpinner.getValue()));

但是,我遇到了这个小错误,

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.Double

最佳答案

此程序说明了 Double 和 BigDecimal 之间的双向转换:

import java.math.BigDecimal;

public class Test {
public static void main(String[] args) {
Double d1 = 1.3;
BigDecimal bd1 = BigDecimal.valueOf(d1.doubleValue());
Double d2 = bd1.doubleValue();
System.out.println(d2);
}
}

请注意,转换为 Double 可能不准确。

关于java - 无法将 Double 数字放入 BigDecimal 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780642/

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