问题标签 [java-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 - javax.money.RoundingContextBuilder NoClassDefFoundError
我想javax.money.CurrencyUnit
通过使用创建:
但是,我得到了错误:
在具有规范的android中:
Asus ZenFone 5 (ASUS_T00F), 1024MB RAM, Android 4.3
为了gradle
钱:
java - Java 8 中的 JSR 354 金钱
我需要在我的 Java 8 应用程序中进行 Money 计算。由于我需要做的操作是基本操作,我正在考虑创建自己的 Money 类。但是从长远来看,我看到 Java9 有自己的 Money 实现,当我们将应用程序迁移到 Java 9 时,我们可能希望迁移到它。
无论如何我可以在 Java 8 中使用 JSR 354 实现来赚钱吗?如果是的话,这会是现在推荐的在 Java 8 中做 Money 的方法吗? https://jcp.org/aboutJava/communityprocess/final/jsr354/index.html
编辑:我错了,JSR 354 不在 Java 9 中。但我的问题仍然是关于如何在 Java 8 中使用 Money,这是在 Java 中处理 Money 的推荐方法。
hibernate - 金额的 JPA 映射
我有兴趣将 JSR 354 Money API 合并到我的应用程序中,并希望能够使用 JPA 将 MoneyAmount 映射为 Embeddable 但我们似乎无法做到,因为 Moneta 实现类的无参数构造函数是私有的并且 JPA(或至少休眠)要求它受到保护。
我们试图扩展它以提供一个受保护的构造函数,但该类是最终的,所以也不能这样做。
首先,假设:
- 我不是唯一一个可能想要这样做的人
- 与 JPA 的互操作性对于此 JSR 很重要
我建议增强规范以要求实现为此目的提供受保护的构造函数?
其次,Moneta RI 团队是否会考虑将默认 arg 构造函数访问权限放宽到受保护级别?如果课程是最终的,它应该没有任何缺点吗?
第三,如果这种改变可能需要一段时间,那么任何人都可以在此期间想到一个优雅的解决方法(除了分叉我们自己的实现)吗?
spring-boot - Springboot 将字符串转换为 JavaMoney
我有一个客户像这样发布到我的服务货币中:
如何配置我的 springboot 以将其转换为 java 货币字段?这是我的对象
java - Java 快钱表示法?
我正在开发一个实时应用程序,该应用程序使用 BigDecimal 处理不同货币和汇率的货币,但是我面临一些严重的性能问题,我想更改底层表示。
我一遍又一遍地读到,在 Java 中表示货币的一种快速且快速的方法是使用 long 存储美分(或任何所需的精度)。正如其中一条评论指出的那样,有一些带有包装器的库可以做到这一点,例如来自 JavaMoney 的FastMoney。
这里有两个问题。
将钱长期存放(或包装内)并将其他所有内容(例如汇率)加倍存放是否总是安全的?换句话说,如果我这样做
Math.round(money * rate)
(钱是美分,汇率是双倍),我会不会遇到与所有东西都翻倍的基本相同的问题?FastMoney 和许多其他库仅支持它们与原始类型之间的操作。
profit.divide(investment)
如果我做不到(两者都是 FastMoney),我应该如何准确表示投资回报。我想我的想法是我将两者都转换为双打然后将它们分开,但这不准确吗?
java - JavaMoney:设置 CurrencyStyle 而不依赖于 moneta
我正在尝试创建一个MonetaryAmountFormat
使用货币单位符号的:
(取自How to format MonetaryAmount with currency symbol?和Customizing a MonetaryAmountFormat using the Moneta (JavaMoney) JSR354 implementation)。
java/maven 项目在运行时(不是编译时)范围内依赖于 moneta。似乎该类CurrencyStyle
及其值SYMBOL
是 moneta(java-money 参考实现)的一部分,而不是 java-money API 的一部分。因此,代码无法编译。
我创建了这个丑陋的解决方法:
是否可以创建一个MonetaryAmountFormat
使用货币单位符号而无需此 hack?
java-money - 没有MonetaryAmountsSingletonSpi 加载
pom.xml中添加的依赖:
相关代码:
当单元测试我得到这个异常:
java-money - javax.money 抛出 javax.money.MonetaryException: No MonetaryAmountFormat for AmountFormatQuery
我有一个使用 tomcat 8 和 java 8 的现有 servlet 应用程序。我使用 org.javamoney.moneta.Money 有一段时间了。
今天我想添加一个新模式,我开始收到以下异常:
所以我恢复到原来的模式,但异常仍在继续。
我已经跟踪了代码,问题似乎源于以下对 getServices 的调用返回一个空列表的事实。
所以奇怪的是,如果我在同一个项目中设置单元测试一切正常。
我现在已经升级到money 1.3,但我遇到了同样的错误(并且单元测试仍然有效)。
失败的代码(在tomcat下运行时)是:
注意:我对金额进行了硬编码,以防传递的 money1 引起问题(但当然,在使用之前抛出异常,因此无论如何都不是问题)。
有效的单元测试是:
注意:对 getCurrency 的调用也在 tomcat servlet 应用程序中,但在不同的类中。我已经在有和没有这条线的情况下运行了单元测试,但没有区别。
我检查了我的 pom 以防有任何冲突,但它报告我认为 moneta 1.3 和 money-api 1.0.3 正在使用中,我认为这是正确的。
我已经重新启动了我的开发环境,以防系统语言环境设置变得有趣(但鉴于单元测试有效,这无论如何都没有意义)。
任何提示都将不胜感激。
java-money - org.javamoney.moneta.RoundedMoney - 某些操作会产生舍入值,有些则不会
如果我使用org.javamoney.moneta
并运行以下程序,我对org.javamoney.moneta.RoundedMoney
. 有时结果值会四舍五入,有时则不是。
我使用的类是错误的还是一个错误?
输出:
使用的maven
依赖是:
java-money - Java 的货币和货币操作 - JSR 354
我只是好奇是否有人知道 JSR 354 是否将作为任何未来 JDK 的一部分正式实现。
当我在线搜索 JDK 11 文档时 - 它看起来不像Monetary
并且MonetaryAmount
不包括类。但是 JSR 354 的实现存在于 Github 下的 jsr354-ri 下。
如果我不想遵循参考实现,这是否意味着我可以编写自己的实现?我的目的是支持其他货币,例如没有官方 ISO 认可但众所周知的人民币(离岸)CNH。
谢谢,