Есть ли способ использовать поплавки в Солидности? Они нужны мне для небольшого контракта, который я пишу. Если поплавки невозможны, что я могу использовать вместо этого? - PullRequest
0 голосов
/ 04 июня 2019

Мне нужно сделать некоторую арифметику на основе чисел с плавающей точкой, но я не могу найти поддержки для таких основных функций в 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 голосов
/ 05 июня 2019

Не зная больше о вашем сценарии использования, мне трудно помочь больше, чем это:

Вы можете просто умножить каждое значение на 100, затем выполнить деление и получить преобразование для потребителя значения,Псевдокод ниже:

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


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