【问题标题】:String to Integer Smalltalk字符串到整数 Smalltalk
【发布时间】:2010-02-09 01:00:03
【问题描述】:

非常简单的问题我需要从用户那里获取一个整数,而我只知道如何从他们那里获取一个字符串。因此,如果有办法从用户那里获取整数或将字符串转换为整数,请告诉我。

【问题讨论】:

  • 随便凑个int;无论如何,用户很少知道他们想要什么!!! (笑话)
  • 不,星期五必须是数字 7,但其他任何一天都可以是随机数,除非是每月的第四个星期三并且外面多云,这种情况下应该是42.

标签: string integer type-conversion smalltalk


【解决方案1】:

找到了:

'12345' asNumber.

【讨论】:

  • 这很奇怪,asNumber 无法处理基数语法:'16r12345' asNumber -> 16。你们如何提供基地?
【解决方案2】:

如果您使用的是 Squeak 或 Pharo,请学习使用“消息查找器”。

左键单击背景,单击工具 > 消息查找器。单击左上窗格。类型:

'12345'. 12345.

点击 Control-S,你就有答案了。具体来说,您有三个答案:asIntegerasNumberinitialIntegerOrNil

【讨论】:

  • 如果您不使用 Squeak 或 Pharo,为什么不使用,然后您是否意识到需要指定您的方言?
【解决方案3】:

有时您需要处理不同基数的数字。

st> s := '3039'.
'3039'
st> Number readFrom: (ReadStream on: s) radix: 16.
12345

【讨论】:

  • Number readFrom: '16rff' => 255。在 Squeak 中,几乎可以肯定在 Pharo。
【解决方案4】:

This page 似乎有一些转换的例子。搜索Conversion:

更新

尝试使用asNumber

【讨论】:

  • 我在该页面上找不到字符串到整数,我以前见过。我会继续关注的。
  • asNumber 不在该页面上。
  • 啊,看来你想通了:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多