Uses of Package
org.aoju.bus.core.math
Packages that use org.aoju.bus.core.math
-
Classes in org.aoju.bus.core.math used by org.aoju.bus.core.mathClassDescription单币种货币类,处理货币算术、币种和取整 货币类中封装了货币金额和币种目前金额在内部是long类型表示, 单位是所属币种的最小货币单位(对人民币是分) 目前,货币实现了以下主要功能: 支持货币对象与double(float)/long(int)/String/BigDecimal之间相互转换 货币类在运算中提供与JDK中的BigDecimal类似的运算接口, BigDecimal的运算接口支持任意指定精度的运算功能,能够支持各种 可能的财务规则 货币类在运算中也提供一组简单运算接口,使用这组运算接口,则在 精度处理上使用缺省的处理规则 推荐使用Money,不建议直接使用BigDecimal的原因之一在于, 使用BigDecimal,同样金额和币种的货币使用BigDecimal存在多种可能 的表示,例如:new BigDecimal("10.5")与new BigDecimal("10.50") 不相等,因为scale不等使得Money类,同样金额和币种的货币只有 一种表示方式,new Money("10.5")和new Money("10.50")应该是相等的 不推荐直接使用BigDecimal的另一原因在于, BigDecimal是Immutable, 一旦创建就不可更改,对BigDecimal进行任意运算都会生成一个新的 BigDecimal对象,因此对于大批量统计的性能不够满意Money类是 mutable的,对大批量统计提供较好的支持 提供基本的格式化功能 Money类中不包含与业务相关的统计功能和格式化功能业务相关的功能 建议使用utility类来实现 Money类实现了Serializable接口,支持作为远程调用的参数和返回值 Money类实现了equals和hashCode方法