Câu hỏi khá đơn giản tôi cần lấy số nguyên từ người dùng và tôi chỉ biết cách lấy một chuỗi từ chúng. Vì vậy, nếu có một cách để có được một số nguyên từ người sử dụng hoặc để chuyển đổi chuỗi thành một số nguyên xin vui lòng cho tôi biết.String to Integer Smalltalk
Trả lời
Tìm thấy nó:
'12345' asNumber.
Thật kỳ lạ, vìSố không thể xử lý cú pháp cơ số: ''16r12345' asNumber -> 16'. Làm thế nào để bạn cung cấp một cơ sở? – mcandre
This page dường như có một số ví dụ về chuyển đổi. Tìm kiếm Conversion:
.
CẬP NHẬT
Hãy thử sử dụng asNumber
Nếu bạn đang sử dụng Squeak hoặc Pharo, học cách sử dụng các "Message Finder".
Nhấp chuột trái vào nền, nhấp vào Công cụ> Trình tìm kiếm thư. Nhấp vào ô trên cùng bên trái. Loại:
'12345'. 12345.
Nhấn Control-S và bạn có câu trả lời. Cụ thể, bạn có ba câu trả lời: asInteger, asNumber và initialIntegerOrNil.
Không sử dụng Squeak hoặc Pharo – Anton
Nếu bạn không sử dụng Squeak hoặc Pharo, tại sao không, và sau đó bạn nhận ra bạn cần phải xác định phương ngữ của bạn? –
Thỉnh thoảng bạn sẽ muốn xử lý các số trong các cơ sở khác nhau.
st> s := '3039'.
'3039'
st> Number readFrom: (ReadStream on: s) radix: 16.
12345
Số readFrom: '16rff' => 255. Trong Squeak, và gần như chắc chắn trong Pharo. –
Chỉ cần tạo thành một int ngẫu nhiên; người dùng hiếm khi biết những gì họ muốn anyway! (cười) –
Không, nó luôn luôn là số 7 vào thứ Sáu, nhưng nó có thể là số ngẫu nhiên vào bất kỳ ngày nào khác, trừ khi đó là thứ tư thứ tư của tháng và trời nhiều mây, trong trường hợp đó là 42. –