2010-02-09 20 views
9

Domanda abbastanza semplice Ho bisogno di ottenere un numero intero da parte dell'utente e so solo come ottenere una stringa da loro. Quindi se c'è un modo per ottenere un numero intero dall'utente o per convertire la stringa in un numero intero, fatemelo sapere.Da stringa a intero Smalltalk

+2

Basta creare un int casuale; gli utenti raramente sanno cosa vogliono comunque !!! (scherzo) –

+0

No, deve essere sempre il numero 7 di venerdì, ma può essere numeri casuali qualsiasi altro giorno, a meno che non sia il quarto mercoledì del mese ed è nuvoloso all'esterno, nel qual caso dovrebbe essere 42. –

risposta

8

trovato:

'12345' asNumber. 
+0

Questo è strano, comeNumber non può gestire la sintassi radix: ''16r12345' asNumber -> 16'. Come fornite una base? – mcandre

1

This page sembra avere alcuni esempi di conversione. Cerca Conversion:.

UPDATE

Provare a utilizzare asNumber

+0

i non riesco a trovare stringa su intero in quella pagina e l'ho già visto prima. Continuerò a guardarlo. – Anton

+0

asNumber non era su quella pagina. – Anton

+0

Ah, sembra che tu l'abbia capito :) –

4

Se si utilizza Squeak o Pharo, imparare ad usare il "Messaggio Finder".

Fare clic con il tasto sinistro sullo sfondo, fare clic su Strumenti> Ricerca messaggi. Fare clic sul riquadro in alto a sinistra. Digitare:

'12345'. 12345. 

Hit Control-S e si ottiene la risposta. Nello specifico, hai tre risposte: asInteger, asNumber e initialIntegerOrNil.

+0

Non stavo usando Squeak o Pharo – Anton

+2

Se non stai usando Squeak o Pharo, perché no, e poi ti rendi conto che devi specificare il tuo dialetto? –

2

Occasionalmente ti consigliamo di gestire i numeri in diverse basi.

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

Numero readFrom: '16rff' => 255. In Squeak, e quasi certamente in Pharo. –

Problemi correlati