2010-02-09 31 views
9

Ziemlich einfache Frage Ich brauche eine ganze Zahl vom Benutzer und ich kann nur eine Zeichenfolge von ihnen erhalten. Also, wenn es eine Möglichkeit gibt, eine Ganzzahl vom Benutzer zu erhalten oder die Zeichenfolge in eine ganze Zahl zu konvertieren, lass es mich wissen.String zu Integer Smalltalk

+2

Einfach eine zufällige int; Benutzer wissen sowieso selten, was sie wollen !!! (Witz) –

+0

Nein, es muss immer die Nummer 7 am Freitag sein, aber es kann jeden anderen Tag Zufallszahlen sein, es sei denn, es ist der vierte Mittwoch des Monats und es ist bewölkt, in diesem Fall sollte es 42 sein. –

Antwort

8

es gefunden mit:

'12345' asNumber. 
+0

Das ist komisch, asNumber kann nicht mit der Radix-Syntax umgehen: ''16r12345' asNumber -> 16'. Wie liefern Sie eine Basis? – mcandre

1

This page scheint einige Umwandlungsbeispiele zu haben. Suche nach Conversion:.

UPDATE

Try asNumber

+0

i kann String auf Integer auf dieser Seite nicht finden und ich habe es vorher gesehen. Ich werde es weiter beobachten. – Anton

+0

asNumber war nicht auf dieser Seite. – Anton

+0

Ah, sieht aus, als hättest du es herausgefunden :) –

4

Wenn Sie Squeak oder Pharo verwenden, lernen die "Message Finder" zu verwenden.

Klicken Sie mit der linken Maustaste auf den Hintergrund und klicken Sie auf Extras> Nachrichtenfinder. Klicken Sie auf den oberen linken Bereich. Typ:

'12345'. 12345. 

Hit Control-S und Sie haben Ihre Antwort. Insbesondere haben Sie drei Antworten: asInteger, asNummer und initialIntegerOrNil.

+0

Verwenden Sie nicht Squeak oder Pharo – Anton

+2

Wenn Sie nicht Squeak oder Pharo verwenden, warum nicht, und erkennen Sie dann, müssen Sie Ihren Dialekt angeben? –

2

Gelegentlich möchten Sie Zahlen in verschiedenen Basen behandeln.

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

Nummer readFrom: '16rff' => 255. In Squeak und fast sicher in Pharo. –