首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整整数降至最近的10

整整数降至最近的10
EN

Ethereum用户
提问于 2021-07-17 15:24:03
回答 1查看 509关注 0票数 0

有什么好的方法可以把一个数字舍入最接近的10的位置吗?我有一个计算数字百分比的函数,但我只想返回10的倍数。例如,如果它是12%,那么它应该返回10,如果它是59%,那么它应该返回50。

代码语言:javascript
复制
uint256 timeRemaining = block.timestamp - startTimestamp;
uint256 totalStakeTime = dayLength.mul(daySeconds);
uint256 percent = timeremaining.mul(100) / totalStakeTime;
//return 10, 20, 30, 40....90
EN

回答 1

Ethereum用户

回答已采纳

发布于 2021-07-17 15:52:51

如果您希望将数字的倍数设为10,则可以使用SafeMath进行此操作。

方法1:

代码语言:javascript
复制
uint256 num = 59;
return num.div(10).mul(10); // return 50

办法2:

代码语言:javascript
复制
uint256 num = 59;
return num.sub(num.mod(10)); // return 50

注意:这两种方法应该工作得很好,但是气体成本可能有点不同。

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

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

复制
相关文章

相似问题

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