我想將「Prompter prompt:aStringPrompt」中的輸入值轉換爲整數值,我該怎麼做?字符串轉爲小寫整數
回答
兩個步驟:(a)驗證輸入,並(b)轉換。
您可以這樣驗證:myString isAllDigits
。
轉換是微不足道的:'1' asInteger
。在Squeak中,至少返回整數1. 'g1' asInteger
返回1,'g1' asInteger
也返回1。 g asInteger
返回零。
所以:
"Given some input string s containing a decimal representation of a number, either return s in integer form, or raise an exception."
s := self getUserInput.
(s isAllDigits) ifFalse: [ Exception signal: '"', s, '" is not a (decimal) number' ].
^ s asInteger.
先生在海豚怎麼樣,我不使用吱吱聲。你能用海豚語法來解釋嗎?非常感謝 – leroj 2010-08-30 08:19:40
aString asInteger應該適用於所有的Smalltalks。最好的方法是嘗試一下,看看你的Smalltalk方言的類庫,以找出所有的可能性。 – 2010-08-30 10:19:58
@Frank Shearar,感謝您的鏈接,但我仍然解決了我的問題。輸入對話框出現後,我輸入了我的號碼,但它不會將其更改爲asInteger或asNumber變量。我的問題是我宣佈我的隨機數它不會改變它在這裏是我的代碼請評論它,如果你有一個想法如何解決它謝謝 – leroj 2010-08-31 01:04:00
在海豚6只是嘗試這樣做:
(Prompter prompt: 'Enter a number') asInteger
運行此(在上述地方光標在一個工作區,並點擊Ctrl-d),在輸入123出現的提示符,您將看到123作爲輸出顯示。如果刪除#asInteger調用,它將顯示「123」,表示已返回字符串。
至於你'不理解#number',這意味着你正在運行#number消息的代碼中的某處發送給一個不知道如何處理它的對象。
對於它的樂趣我把你的代碼,並稍微重新格式化它:
| dir |
[ dir isNil or: [ dir isEmpty ] ] whileTrue:
[ dir:= Prompter prompt: 'Enter your number' caption: 'Input the Number' ].
MessageBox notify: 'your inputed number is ', (dir) caption: 'Inputed'.
,發現它運行得很好。這時我才發現它沒有返回的字符串轉換爲數字,所以我把它改爲:
| dir |
[ (dir isNil or: [ dir isEmpty ]) or: [ (dir select: [ :c | c isDigit not ]) size > 0 ] ] whileTrue:
[ dir:= Prompter prompt: 'Enter your number' caption: 'Input the Number' ].
MessageBox notify: 'your inputed number is ', (dir) caption: 'Inputed'.
這也運行得很好,有額外的好處,它不會接受非數字字符。
分享和享受。
- 1. 將字符串轉換爲小寫
- 2. Ansi C - 將字符串轉換爲小寫字符串
- 3. 轉換字符串數組爲整數
- 4. C# - 將小數轉換爲整數的字符串
- 5. 將小數點後的字符串轉換爲整數
- 6. Java如何將小寫字符串值轉換爲字符串數組中的大寫字符串
- 7. 如何在DWT,Tridion中將大寫字符串轉換爲小寫字符串
- 8. 將帶有數字和小寫字符的字符串轉換爲帶有數字,小寫字母和大寫字符的字符串
- 9. 將字符串轉換爲整數
- 10. 整數轉換爲字符串?
- 11. Swift:將字符串轉換爲整數
- 12. 將字符串轉換爲整數
- 13. 將字符串轉換爲整數
- 14. 將字符串轉換爲整數
- 15. 將字符串轉換爲整數?
- 16. 將字符串轉換爲整數
- 17. 將整數轉換爲字符串
- 18. 將字符串轉換爲整數
- 19. 將整數值轉換爲字符串
- 20. 將整數轉換爲字符串-mysql
- 21. 從字符串轉換爲整數vb.net
- 22. 將JavaScript字符串轉換爲整數
- 23. 將字符串值轉換爲整數
- 24. 將字符串轉換爲整數?
- 25. 將整數轉換爲字符串
- 26. 將字符串轉換爲整數
- 27. 將字符串轉換爲整數Android
- 28. 轉換整數列表爲字符串
- 29. 將字符串轉換爲整數
- 30. 將整數轉換爲字符串
在發佈我的答案後,我注意到這可能是重複的http://stackoverflow.com/questions/2226029 – 2010-08-30 08:10:28
可能重複的[String to Integer Smalltalk](http://stackoverflow.com/questions/2226029/string-to-integer-smalltalk) – Mark 2013-01-26 19:33:21