【问题标题】:How to do floating point arithmetic in substrate runtime如何在基板运行时进行浮点运算
【发布时间】:2019-06-12 13:54:34
【问题描述】:

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

我可以使用百分比作为整数来制作原型

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

但是如果我的利率是 2.5% 或 2.4554% 呢?

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

【问题讨论】:

    标签: blockchain substrate parity-io


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多