ruby - 如何将基数中的整数转换为字符串
问题描述
有时我有像这样的整数021
或011
.
如果我尝试将它们转换为字符串,结果将是:
p 021.to_s # "17" instead "021"
p 011.to_s # "9" instead "011"
为什么会发生这种情况,如何将整数转换为字符串?
解决方案
带有前导零的数字文字被认为是八进制(以 8 为基数)数字。
该to_s
方法将数字转换为默认十进制(以 10 为底)。
- 八进制 21 是十进制 17
- 八进制 11 是十进制 9
对于预期结果,删除前导零。
推荐阅读
- reactjs - React 服务器端渲染无法导入 jsx 文件
- java - 如何实例化从具有任何类型的 ArrayList 扩展的类?
- git - 你可以为 git 提交启用 2FA 吗?
- angular - 如何使用路由在 Angular 应用程序的组件中导航?
- jenkins - 如何使用代理而不是 Master 从 SCM 获取 Jenkins 管道脚本
- python - 如何在查询 dynamodb 时使用 sys.argv
- javascript - 有没有办法让子页面在 Nuxt 中继承其父级的 index.vue 文件?
- regex - 如何制作正则表达式以匹配模式之间带有随机点的字符串?
- python - Nuxt.js 与 Flask 的连接被拒绝。路由不好?
- django - 将静态资产传递给 Django 模板中的包含