当前位置: 首页 > 知识库问答 >
问题:

格式化货币Java

宰父飞白
2023-03-14

在我当前的项目中,我将货币值存储为表示美分数的int。但是,当用户在文本字段中输入此值时,他们很可能希望将其输入为十进制值。此外,如果用户不手动输入,我想在前面加上一个美元符号。我如何利用JFormattedTextField为我完成大部分工作?或者是否有其他解决方案使用预先存在的Swing组件,这样我就不必通过手动编码来重新发明轮子?

共有2个答案

桂宏旷
2023-03-14

我强烈建议考虑Joda Money library-

包永新
2023-03-14

NumberFormat也适用于格式化货币(请参阅NumberFormat#getCurrencyInstance)。既然您需要一个格式化文本字段的格式,我就从这里开始。

您可以将NumberFormat配置为允许十进制值,并在稍后的代码中将其转换为int而不会出现问题

 类似资料:
  • 问题内容: 我正在使用我给定的语言环境获取自定义货币格式。但是,这始终包含我不需要的货币符号,我只想要给定语言环境的正确货币数字格式而没有货币符号。 做一个抛出一个异常.. 问题答案: 以下作品。这有点丑陋,但可以履行合同: 您还可以从货币格式中获取模式,删除货币符号,然后从新模式中重构新格式:

  • 在本例中,我们根据美国区域设置和丹麦语区域设置格式化货币。 文件:IOTester.java - 执行上面示例代码,得到以下结果 -

  • 我正在尝试使用函数。 而它应该打印$符号或美元? 我使用linux主机。 谢谢

  • 问题内容: 我需要显示此类货币格式,我们如何显示。 问题答案: 在HTML中 例如 您还可以推荐 https://docs.angularjs.org/api/ng/filter/currency

  • 在此示例中,我们根据美国区域设置和丹麦语区域设置格式化货币。 IOTester.java import java.text.NumberFormat; import java.util.Locale; public class I18NTester { public static void main(String[] args) { Locale enLocale = new L

  • 问题内容: 有没有一种格式可以如下设置小数: 如果是整数,则省略小数部分。否则,格式要保留两位小数。 问题答案: 我建议使用java.text包: 这具有特定于区域设置的额外好处。 但是,如果必须的话,如果它是一整美元,则截断要返回的字符串: