我遇到了一些问题,试图将这个等式转换成可靠友好的代码。
x * (0.933333 + y/z/3.75)
我尝试过以以下方式转换值,但最终得到了w/不正确的结果。有什么想法吗?
uint y = 2294;
uint z = 1293;
uint a = 0.93333 * 10 ** 18;
uint b = y / z * 10 ** 18;
uint c = 3.75 * 10 ** 18;
发布于 2022-01-12 09:29:35
对十进制数的支持基本上是不存在的。因此,您不能在实体中使用十进制数。
您需要做的是首先将数字转换为整数,例如uint a = 93333 * 10 ** 13
。对您的所有十进制数也做同样的操作。
假设您最终需要真正的结果(或者更像它的圆形整数版本),您只需除以10**18。
https://ethereum.stackexchange.com/questions/118739
复制