首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定实度中的小数率?

如何确定实度中的小数率?
EN

Ethereum用户
提问于 2018-05-01 10:11:02
回答 3查看 2K关注 0票数 1

我想把我在ICO的象征性销售价格定为1 ether=0.0111111111。既然不支持小数,那么有什么方法可以做到这一点呢?

EN

回答 3

Ethereum用户

发布于 2019-12-23 10:08:38

有几种方法可以做到这一点:

  1. 用简单的分数。你的费率是1/90,对吧?所以,只要乘以或除以90,就可以从以太转换为记号,反之亦然。
  2. 使用二进制不动点(例如通过ABDKMath64x64库)。基本上,这是常分母2^64的简单分数。
  3. 使用小数不动点,例如18小数点(例如,通过DBMath库)。那么您的费率将由11111111100000000表示。基本上,这是一个常数分母为10^18的简单分数。
  4. 使用浮点数(例如通过ABDKMathQuad库)。

什么是最好的选择取决于您的范围/精度/价格要求,以及您需要做什么数学处理的比率。

票数 2
EN

Ethereum用户

发布于 2018-05-01 10:22:38

假设您正在部署一个ERC20令牌,您可以通过设置十进制来实现您的目标。假设你有100个不存在的美乐,你想把每一个美乐作为债券卖给1000个人。如果您将十进制设置为3,100 *10^3(对应的1000人),则您的令牌销售需要供应。你的令牌最小的单位是0.001。在众筹中,您可以宣布0.001 MerbleCoin(MRB)将是1以太。以太支持最多18小数,但在我们的例子中,你不需要超过3。如果你想达到0.0111111111,你必须设置小数为10。

票数 1
EN

Ethereum用户

发布于 2018-05-01 10:21:24

添加零并将您的小数点转换为整数。所有计算都将在smart合同之外进行。类似于如果1以太= 4.589令牌;将令牌值乘以1 000,它将成为整数4589。这就是为什么我们总是将总标记值乘以我们希望放入智能契约中的小数点数。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/47207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档