gpt4 book ai didi

java - 如何让 JFormattedTextField 使用 $1.55,但将值存储为整数 155?

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

我读过的关于 Java 的几乎所有内容都说不要使用 float 或 double 作为货币,但似乎 Swing 中的所有内容都试图强制您这样做,如果您想输入/显示具有小数位的货币值(也就是正是大多数人想要做的)。

我可以用 NumberFormat.getCurrencyInstance()NumberFormatterJFormattedTextField ,但我不知道如何在不使用 Float 的情况下让它显示小数位或 Double .我必须忽略一些简单的事情。

如何让我的货币字段显示 $1.55 , 接受输入为 1.55并将输入存储为整数,值为 155 (美分)?

最佳答案

您不能对格式化程序进行数学运算。您应该做的是让您的 pojo 的成员变量以美分为单位保存价格。就像是:

private long priceInDollarCents;

然后你可以有一个 setter/getter ,它将以美元返回。就像是:
public double getPriceInDollars() {
return (double)priceInDollarCents/100;
}

这就是您将传递给格式化程序的内容。

关于java - 如何让 JFormattedTextField 使用 $1.55,但将值存储为整数 155?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8193052/

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