Solidity 计量单位
以太币的单位
数字字面量后可以附加以太币单位(数字字面量和单位间需要有空格),以在不同面值之间转换。如果表示以太币金额的数字字面量不带单位,会默认其单位为 wei。例如, 1
与 1 wei
相等, 1e18 wei
与 1 ether
相等。
以太币单位及 Solidity 中此单位的表示可参见此表:
单位 | 等价于 | 在 Solidity 中的表示 |
---|---|---|
wei | 1 wei | wei |
Kwei (babbage) | $10^3$ wei | |
Mwei (lovelace) | $10^6$ wei | |
Gwei (shannon) | $10^9$ wei | |
microether (szabo) | $10^{12}$ wei | szabo |
milliether (finney) | $10^{15}$ wei | finney |
ether | $10^{18}$ wei | ether |
时间单位
数字字面量后附加 seconds
、 minutes
、 hours
、 week
或 years
(数字字面量和单位间需要有空格),可以代表以秒为基准的时间。
Solidity中, 以下列出的表达式均为真。换句话说,这些单位间的转换可以参照以下规则:
1 == 1 seconds
1 minutes == 60 seconds
1 hours == 60 minutes
1 days == 24 hours
1 weeks == 7 days
1 years == 365 days
由于要考虑到平闰年等问题,使用这些单位时要格外小心。
Solidity 中的单位不能附加在变量之后,若要转换变量的单位,可以考虑用类似这样的方法解决:
uint64 hoursAfter = uint64(now) + count * 1 hours;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: Solidity 全局变量与函数
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论