问题标签 [joda-money]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在单元测试中使用什么货币?
我正在开发一个严重依赖Joda-Money的应用程序,并且有许多单元测试来验证我的业务逻辑。对我来说,一个(诚然是次要的)症结是要测试什么样的Money
/BigMoney
对象;具体来说,CurrencyUnit
用什么。
在我看来,我有几个选择:
只需使用
USD
这显然是最简单的方法,而且我的大部分实际应用程序都将使用美元,所以这很有意义。另一方面,它感觉相当以美国为中心,我担心它会冒着让特定于货币的错误不受控制的风险。
使用另一种真实货币,例如
CAD
这将捕获错误的硬编码
USD
,但除此之外并不比仅使用USD
.使用专用的“假”货币,即
XTS
这显然是有道理的,毕竟
XTS
是“保留用于测试”。但 Joda 将伪货币表示为带-1
小数位的货币。实际上,Joda-Money 中货币之间的主要区别在于小数位数,因此这可能会掩盖任何涉及小数位精度的错误,例如错误地四舍五入为整数值。注册我自己的自定义货币
CurrencyUnit.registerCurrency()
这显然可行,但似乎有点奇怪,因为有替代方案。
使用
CurrencyUnit
模拟库创建的实例与注册自定义货币几乎相同。
同样,这显然是一个小问题,但我很好奇这样的情况是否有标准做法,或者是否有明确的理由特别喜欢这些选项之一。
hibernate - 如何为 Joda Money 和 Jadira 用户类型在每个表的单个字段中存储货币
我正在使用 JodaMoney 库和 Jadira User 类型来存储货币值。我希望能够在每个表中存储一种货币,而不是需要这么多字段。
有没有办法将货币映射到同一个字段?这不起作用,因为它抱怨我不能混合可插入和可更新。
java - 如何使用 Joda Money 格式化负金额?
我想在货币符号前用减号格式化负金额,即。e:
给定输入值:-123.45
我希望输出为:-$123.45
.
有没有办法用 Joda Money 来完成它?
这是我尝试过的:
但这给了我:$-123.45
java - 获取 javax.money.CurrencyUnit 的显示名称
我有一个实例,javax.money.CurrencyUnit
我想在给定的语言环境中显示它的名称(例如“美元”、“欧元”、“日元”等)。我已经阅读了所有文档,但我唯一能找到的是如何格式化 a MonetaryAmount
:
我可以看到我在那里指定CurrencyStyle.NAME
,所以它会在结果中返回货币名称,但问题是我没有 aMonetaryAmount
并且我找不到CurrencyUnit
.
谢谢
java - 打印不带小数的 jodamoney
我知道如何使用以下方法打印 joda-money 对象MoneyFormatterBuilder
:
但这会用小数打印:
如何打印没有小数的 joda-money 对象?如有必要,是否将其汇总?所以上面的输出将是:
并且(另一个例子)48209.69
会打印48210
?
java - 如何将货币符号设置为正确的语言环境位置($ 20 vs 20 $) - Joda money
我正在使用这段代码来格式化我的货币(我正在使用 joda money)
但正如您所见,货币符号始终位于金额之后。我想要的是根据给定语言环境的正确定位。例子:
一些国家可能使用:20 美元,其他国家可能使用 20 美元。有些人可能在其他人之间没有空间。
我没有在库中找到解决方案,尽管它似乎应该支持(它支持本地化所有其余部分)
java - 将字符串转换为货币
我有以下字符串
想把它转换成org.joda.money.Money
我是否需要在此处拆分货币单位和双倍值,并需要在 Money 中单独设置它。或者有任何库 api 可以转换它吗?
java - Joda money:如何将格式化字符串转换回货币值(独立于语言环境)
假设我们有金额 $12345.67
可以使用 joda money 库将其转换为货币价值:
问题是如何将本地化的字符串解析回货币值(注意分组数字是一个点,小数是逗号)。这也必须适用于上述格式化程序中的每个货币价值和每个字符串。
Money.parse()
仅适用于不满足要求的正则表达式[+-]?[0-9]*[.]?[0-9]*