我试图用固体做以下计算:3,000/45,000,000 = 0.000067,方法如下:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
function divide(uint _num1, uint _num2) public pure returns(uint _result) {
return (_num1 /_num2 );
}
但是很明显,我得到的结果是零。
我知道交易的稳定性使用18个小数点(使用Wei),但是,我在之前关于稳定性中的小数的所有问题的重播中找不到如何为常规数字或常规计算做到这一点。而且大多数时候,它甚至不能处理事务。
实际常用的标准做法是什么"ANY"从"ANY"数字,无论是以太币,代币还是常规计算?我的意思是,这种方法对3/100和2.5/3.7都有效?
在Solidity中不支持浮点运算,但是如果你使用uint256
,你可以使用定点运算,因为你有18位小数。