在我目前的项目中,我将货币值存储为int
,表示分数。但是,当用户在文本字段中输入此值时,他们很可能希望将其作为十进制值输入。另外,如果用户没有手动输入美元符号,我想添加一个美元符号。我如何利用JFormattedTextField
为我做这项工作呢?或者是否有其他使用预先存在的Swing组件的解决方案,以便我不必通过手动编码来重新发明轮子?
答案 0 :(得分:3)
NumberFormat
也适合格式化货币(请参阅NumberFormat#getCurrencyInstance
)。由于Format
需要JFormattedTextField
,我会从那里开始。
您可以将NumberFormat
配置为允许小数值,稍后将代码转换为int
而不会出现问题
答案 1 :(得分:1)
我强烈建议考虑Joda Money库 - > http://joda-money.sourceforge.net/userguide.html