有什么方法可以在Solidity中使用浮点数吗?我需要他们来写一份我要写的合同。如果不可能使用浮点数,该怎么用呢?

时间:2019-06-04 20:21:06

标签: solidity

我需要做一些基于浮点的算法,但在Solidity中找不到对这种基本功能的任何支持。有没有办法解决?

我尝试在各处搜索实现此目的的方法。非常感谢您提供一些指导。也很抱歉我不能真正共享代码。非常感谢您的帮助

pragma solidity ^0.5.9;

contract test {
  //float result;
  uint8 a = 10;
  uint8 b = 4;


  function divide() public returns(float) { // I know this isn't possible 
    result = a / b;
  }
}

我收到编译错误。我花了很长时间寻找如何做这样的事情。也许这里有人对此有所了解

1 个答案:

答案 0 :(得分:0)

在不了解您的用例的情况下,我很难提供比这更多的帮助:

您可以简单地将每个值乘以100,然后进行除法,然后让值的使用者进行转换。伪代码如下:

contract test {
  //float result;
  uint8 a = 10;
  uint8 b = 4;


  function divide() public returns(integer) {
    result = (a * 100) / (b * 100);
  }
}