如何在基板运行时对浮点值进行数学运算。举个简单的例子,假设我想跟踪去中心化金融中的利率。
我可以通过将百分比用作整数来制作原型(prototype)
let rate = 2;
let dividend = capital * rate / 100;
但是如果我的利率是 2.5% 或 2.4554% 怎么办?
有没有做浮点运算的标准方法?
最佳答案
由于 Substrate 是区 block 链的框架,因此每个节点都必须达到相同的确定性结果以达成共识。
浮点运算是 不是 确定性,因此在 Substrate 中是不允许的。
处理需要小数位的算术的标准方法是使用内置的原始类型之一来处理定点算术。定点算术对 Substrate 来说是安全的,因为它将所有有理数表示为分数,并且始终解析为确定性结果。
用于处理定点运算的两种类型是 Permill和 Perbill类型。
关于blockchain - 如何在基板运行时进行浮点运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56563909/