2010-02-09 78 views
9

很简单的问题我需要从用户得到一个整数,我只知道如何从他们得到一个字符串。所以如果有办法从用户那里获得一个整数或者将字符串转换为一个整数,请让我知道。字符串整数Smalltalk

+2

只要下定随机INT;用户很少知道他们想要什么! (笑话) – 2010-02-09 01:02:20

+0

不,它必须始终是星期五的数字7,但它可以是任何其他日子的随机数字,除非它是本月的第四个星期三,并且外面是阴天,在这种情况下它应该是42. – 2010-02-09 01:04:56

回答

8

发现:

'12345' asNumber. 
+0

这很奇怪,asNumber无法处理基数语法:''16r12345'asNumber - > 16'。你如何提供基地? – mcandre 2011-08-07 03:30:36

1

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

UPDATE

尝试使用asNumber

+0

i无法找到字符串整数在该页面上,我看过它。我会继续看着它。 – Anton 2010-02-09 01:07:43

+0

asNumber不在该页面上。 – Anton 2010-02-09 01:15:43

+0

啊,看起来像你想出来:) – 2010-02-09 01:22:45

4

如果您正在使用佳乐或菲罗,学会用 “消息发现者”。

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

'12345'. 12345. 

命中控制-S和你有你的答案。具体来说,你有三个答案:asInteger,asNumber and initialIntegerOrNil

+0

没有使用Squeak或Pharo – Anton 2010-07-08 20:24:45

+2

如果你不使用Squeak或Pharo,为什么不,然后你意识到你需要指定你的方言? – 2011-08-18 02:19:32

2

偶尔你会想要处理不同基地的数字。

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

Number readFrom:'16rff'=> 255.在Squeak中,几乎可以肯定地在Pharo中。 – 2011-09-21 11:35:39