2010-02-09 11 views
9

Bardzo proste pytanie Potrzebuję uzyskać liczbę całkowitą od użytkownika i wiem tylko, jak uzyskać ciąg od nich. Więc jeśli istnieje sposób na uzyskanie liczby całkowitej od użytkownika lub przekonwertowanie ciągu na liczbę całkowitą, proszę dać mi znać.Ciąg do Integer Smalltalk

+2

Po prostu zrób losową int; użytkownicy rzadko wiedzą, czego chcą! (żart) –

+0

Nie, zawsze musi to być numer 7 w piątek, ale może to być liczba losowa każdego innego dnia, chyba że jest to czwarta środa miesiąca i na zewnątrz jest pochmurno, w takim przypadku powinno być 42. –

Odpowiedz

8

Znaleziono go:

'12345' asNumber. 
+0

To dziwne, ponieważ Number nie może obsłużyć składni radix: ''16r12345' asNumber -> 16'. Jak dostarczyć bazę? – mcandre

1

This page wydaje się mieć kilka przykładów konwersji. Wyszukaj Conversion:.

UPDATE

Spróbuj użyć asNumber

+0

i nie mogę znaleźć ciągu na liczbę całkowitą na tej stronie i widziałem go wcześniej. Będę na to patrzeć. – Anton

+0

asNumber nie było na tej stronie. – Anton

+0

Ach, wygląda na to, że to wymyśliłeś :) –

4

Jeśli używasz Squeak lub Pharo, nauczyć się korzystać z "Message Finder".

Kliknij lewym przyciskiem myszy na tle, kliknij Narzędzia> Wyszukiwarka wiadomości. Kliknij w lewym górnym panelu. Wpisz:

'12345'. 12345. 

Hit-S i masz odpowiedź. W szczególności masz trzy odpowiedzi: asInteger, jako numer i initialIntegerOrNil.

+0

Nie używał Pisku lub Pharo – Anton

+2

Jeśli nie używasz Squeaka ani Pharo, dlaczego nie, a czy zdajesz sobie sprawę, że musisz podać swój dialekt? –

2

Od czasu do czasu będziesz obsługiwać liczby w różnych podstawach.

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

Numer readFrom: '16rff' => 255. W Squeak, a prawie na pewno w Pharo. –