用Java格式化货币
在我当前的项目中,我将货币值存储为用Java格式化货币,java,swing,user-interface,formatting,Java,Swing,User Interface,Formatting,在我当前的项目中,我将货币值存储为int,它表示美分数。但是,当用户在文本字段中输入此值时,他们很可能希望将其作为十进制值输入。另外,如果用户没有手动输入,我想在前面加一个美元符号。如何利用JFormattedTextField为我完成大部分工作?或者有其他解决方案使用预先存在的摆动组件,这样我就不必通过手工编码来重新发明轮子了吗? < P>我强烈推荐考虑JoDA货币库-> /P> < P> NoMultFrase>代码>也适用于格式化货币(见)。既然你需要一个格式的JFormattedTex
int
,它表示美分数。但是,当用户在文本字段中输入此值时,他们很可能希望将其作为十进制值输入。另外,如果用户没有手动输入,我想在前面加一个美元符号。如何利用JFormattedTextField
为我完成大部分工作?或者有其他解决方案使用预先存在的摆动组件,这样我就不必通过手工编码来重新发明轮子了吗? < P>我强烈推荐考虑JoDA货币库-> /P> < P> <代码> NoMultFrase>代码>也适用于格式化货币(见)。既然你需要一个格式的JFormattedTextField
,我就从这里开始
您可以将NumberFormat
配置为允许十进制值,并在以后的代码中将其转换为int
而不会出现问题如果使用此解决方案,则JFormattedTextField.getValue()
返回什么类型的对象
?如果使用NumberFormat
,它将返回一个数字
除了使用instanceof
操作符之外,还有其他方法可以知道具体的类吗?在这种情况下,能够转换为Double
并使用自动取消装箱会很好。我还使用其他JFormattedTextField
s进行整数输入,因此对于这些输入,转换为integer
也非常好!不需要一个实例。由于您自己设置了格式
,因此您知道返回类型(格式
的解析
方法的返回类型)。因此,如果您想要一个Double
,您可以使用返回Double的格式。但是不确定执行Number 35; doubleValue()
的问题是什么。问题是PEBKAC错误:没有仔细查看API=p