Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java格式化货币_Java_Swing_User Interface_Formatting - Fatal编程技术网

用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