Như được hiển thị bởi các câu trả lời khác ở đây, có nhiều cách để thực hiện chuyển đổi:
Number('123');
+'123';
parseInt('123');
parseFloat('123.45')
Tôi muốn đề cập đến một điều nữa parseInt
mặc dù.
Khi sử dụng parseInt
, nó luôn có ý nghĩa để luôn vượt qua tham số cơ số . Đối với chuyển đổi thập phân, đó là 10
. Đây là giá trị mặc định cho tham số, đó là lý do tại sao nó có thể được bỏ qua. Đối với nhị phân, nó là một 2
và 16
cho hệ thập lục phân. Trên thực tế, bất kỳ cơ số giữa và bao gồm 2 và 36 hoạt động.
parseInt('123') // 123 (don't do this)
parseInt('123', 10) // 123 (much better)
parseInt('1101', 2) // 13
parseInt('0xfae3', 16) // 64227
Các parseInt
chức năng, tốt, phân tích chuỗi để chuyển đổi chúng sang số. Trong một số triển khai JS, parseInt
phân tích các số 0 đứng đầu dưới dạng bát phân:
Mặc dù không được khuyến khích bởi ECMAScript 3 và bị cấm bởi ECMAScript 5, nhiều triển khai diễn giải một chuỗi số bắt đầu bằng số 0 đứng đầu là bát phân. Sau đây có thể có kết quả bát phân, hoặc nó có thể có kết quả thập phân. Luôn chỉ định một cơ số để tránh hành vi không đáng tin cậy này.
- MDN
Thực tế là mã trở nên rõ ràng hơn là một hiệu ứng phụ tuyệt vời của việc chỉ định tham số cơ số.
Vì parseFloat
chỉ phân tích các biểu thức số trong cơ số 10, nên không cần tham số cơ số ở đây.
Thêm về điều này: