30/09/2018, 17:31
Lỗi khi ép kiểu trong java
Em dùng code này
public class HelloWorld {
public static void main(String[] args) {
int i= 0;
String a = "123";
i = (int) a.charAt(0);
System.out.println(i);
}
}
Sao lại được kết quả là 49 nhỉ?, số 49 là của cái gì?, và nếu em muốn i có giá trị là 1 (kiểu integer) thì phải ép kiểu như thế nào?
Bài liên quan
Là bởi vì
a.charAt(0)
là tương đương với ký tự"1"
.Mà giá trị
int
của ký tự"1"
là49
.http://www.asciitable.com/
Số 1 hình như có mã ascii là 49
Oạch, thế là ép kiểu này nó lại cho ra mã ascii của kí tự
Đây rồi, ép kiểu cho char phải chơi kiểu này
thử xem sao
i = Integer.parseInt(""+a.charAt(0));
Chạy tốt ạ