5

如何在基板运行时对浮点值进行数学运算。举个简单的例子,假设我想跟踪去中心化金融中的利率。

我可以通过将百分比用作整数来制作原型

let rate = 2;
let dividend = capital * rate / 100;

但是如果我的利率是 2.5% 或 2.4554% 怎么办?

有没有做浮点运算的标准方法?

4

1 回答 1

7

由于 Substrate 是区块链的框架,因此每个节点都必须达到相同的确定性结果以达成共识,这一点很重要。

浮点运算不是确定性的,因此在 Substrate 中是不允许的。

处理需要小数位的算术的标准方法是使用一种内置的原始类型来处理定点算术。定点算术对 Substrate 来说是安全的,因为它将所有有理数表示为分数,并且总是解析为确定性结果。

用于处理定点算术的两种类型是PermillPerbill类型。

于 2019-06-12T14:08:18.097 回答