java - Corda 中的金额实例
问题描述
我正在尝试在 Corda 中创建“金额”的实例。我将一个 long 值和一个 USD 实例传递给它。
val amount = Amount(value, Currency.getInstance("USD"))
其中值为 10。
我希望输出为 10 美元,但它被返回为 0.10 美元,这是预期的。
我也知道美元在小数点右边有两位数。
但是有没有办法达到我想要的解决方案?
注意:我期望的类型是 Amount<Currency>。
解决方案
Amount<Currency> a = new Amount<>(10, new BigDecimal("1"), Currency.getInstance("USD"));
金额(数量:Long,displayTokenSize:BigDecimal,token:T)
金额表示某种代币(货币、资产等)的正数,以最小可表示单位的数量来衡量。每个单独令牌所代表的名义数量等于 displayTokenSize。displayTokenSize 的 scale 属性应正确反映显示的小数位,并在通过 Amount.fromDecimal 方法将 BigDecimal 中的指示性/显示金额四舍五入转换为 Amount 时使用。
或者
Amount.fromDecimal( new BigDecimal("10"), Currency.getInstance("USD"))
fun fromDecimal(displayQuantity:BigDecimal,令牌:T,舍入:RoundingMode = RoundingMode.FLOOR):
金额 从十进制表示中构建金额。例如,输入“12.34 GBP”,返回一个数量为“1234”代币的金额。函数 getDisplayTokenSize 用于确定转换比例,例如债券的名义金额可能为 100,货币单位为 0.01 美分。
https://api-prod.corda.net/api/corda-os/4.8/html/api/kotlin/corda/net.corda.core.contracts/-amount/
推荐阅读
- numa - 并发调用 ```move_pages``` 在多个地址状态返回 ENOENT 和 EFAULT
- java - 使用 TransformerFactory 更新 XML 文件会在节点之间添加空行
- python - 我可以只从数据库中获取更新的数据而不是所有数据吗
- r - 基于作为分数的结果变量的比例逻辑回归
- html - 将 Div 的底部中心点设置为三角形
- javascript - 计算 JSON 对象中的多个值并打印到屏幕
- reactjs - 反应在分页列表中使用 useRef 钩子是引用第一个元素
- java - Java 数组索引为 n/2
- c++ - 定义可变参数模板大小为 1 的类
- asp.net-core-3.1 - 使用 Seq 的 Serilog 中的远程级别控制不支持覆盖?