我可以在近协议中使用浮点吗?

use*_*713 5 nearprotocol

浮点运算具有不确定性,因此区块链网络可能无法就链的状态达成一致。

我在智能合约中使用以下代码来计算根:

let mint_value = (juror_stake as f64).powf(0.8) as u128 + 1;
Run Code Online (Sandbox Code Playgroud)

允许这样的代码吗?如果不是如何进行浮点运算。

Luc*_*ato 3

由于舍入误差,浮点不应用于金钱存储和计算。.1 + .2 == .3(例如在浏览器的控制台中输入)。我认为,如果它能够编译、运行并执行您想要的操作,那么您就可以使用它。只要您使用 u128 等标记来存储和执行大多数计算。