Hàm parseInt() trong JavaScript

Hàm parseInt() trong JavaScript
Hàm parseInt() trong JavaScript

Chức năng của Hàm parseInt() trong JavaScript

Hàm parseInt() trong JavaScript dùng để chuyển các ký tự trong chuỗi string thành số nguyên, nếu không chuyển được thành số nguyên thì trả về NaN.

Cú pháp của Hàm parseInt() trong JavaScript

parseInt("kytu");

kytu: Ký tự (Ví dụ: 35.66, 35, -35,.....)

Code Hàm parseInt() trong JavaScript

parseInt("35abc");
<script>
document.write(parseInt("35abc")+"<br>"); // Kết quả: 35
document.write(parseInt("abc35")+"<br>"); // Kết quả: NaN
document.write(parseInt("35")+"<br>"); // Kết quả: 35
document.write(parseInt("-35")+"<br>"); // Kết quả: -35
document.write(parseInt("   35 ")+"<br>"); // Kết quả: 35
document.write(parseInt("35.66")+"<br>"); // Kết quả: 35
document.write(parseInt("35.00")+"<br>"); // Kết quả: 35
document.write(parseInt("35 36 37")+"<br>"); // Kết quả: 35
</script>

Kết quả:'

35
NaN
35
35
35
35
35

Chạy Thử

So sánh hàm parseInt() với Number() và parseFloat() trong JavaScript

JavaScript cung cấp nhiều cách chuyển một giá trị thành số, nhưng mỗi hàm có cách xử lý khác nhau. parseInt() phù hợp khi cần lấy phần số nguyên, parseFloat() giữ lại phần thập phân, còn Number() cố gắng chuyển toàn bộ giá trị thành kiểu số.

Việc lựa chọn đúng hàm giúp hạn chế kết quả ngoài dự kiến, đặc biệt khi dữ liệu đầu vào là chuỗi có ký tự, số thập phân hoặc giá trị rỗng.

parseInt() chuyển chuỗi thành số nguyên

parseInt() đọc giá trị từ đầu chuỗi và trả về số nguyên. Khi gặp phần không thể tiếp tục phân tích, hàm dừng tại vị trí đó và bỏ qua phần còn lại.

const value = parseInt("125px");
console.log(value); // 125

const price = parseInt("89.99");
console.log(price); // 89

Điểm cần chú ý là parseInt() không làm tròn số thập phân. Nó loại bỏ phần sau dấu thập phân để tạo ra số nguyên.

Nếu chuỗi không bắt đầu bằng một giá trị có thể chuyển thành số nguyên, kết quả thường là NaN.

parseFloat() chuyển chuỗi thành số thực

parseFloat() cũng phân tích chuỗi từ đầu nhưng cho phép giữ lại phần thập phân. Vì vậy, hàm phù hợp khi dữ liệu có thể chứa số thực và cần bảo toàn giá trị sau dấu chấm.

const weight = parseFloat("12.75");
console.log(weight); // 12.75

const value = parseFloat("45.6kg");
console.log(value); // 45.6

Giống parseInt(), parseFloat() có thể lấy phần số hợp lệ ở đầu chuỗi và dừng khi gặp ký tự không phù hợp.

Nếu yêu cầu của chương trình là lấy một số nguyên từ chuỗi, parseInt() sẽ phù hợp hơn. Ngược lại, khi cần giữ phần thập phân, nên ưu tiên parseFloat().

Number() chuyển đổi giá trị thành kiểu số

Number() xử lý toàn bộ giá trị đầu vào thay vì đọc một phần số ở đầu chuỗi. Vì vậy, chuỗi chứa thêm ký tự thường không được chuyển đổi thành số hợp lệ.

const first = Number("125");
console.log(first); // 125

const second = Number("125px");
console.log(second); // NaN

const third = Number("89.99");
console.log(third); // 89.99

Đây là điểm khác biệt quan trọng so với parseInt() và parseFloat(). Với dữ liệu phải là một biểu diễn số hoàn chỉnh, Number() giúp phát hiện chuỗi không hợp lệ rõ ràng hơn.

Nên sử dụng parseInt(), parseFloat() hay Number()?

Không có hàm nào luôn tốt hơn hai hàm còn lại. Lựa chọn phụ thuộc vào dạng dữ liệu và kết quả cần nhận được.

  • Dùng parseInt() khi cần lấy số nguyên từ chuỗi, chẳng hạn giá trị bắt đầu bằng số nhưng có thêm đơn vị.
  • Dùng parseFloat() khi cần lấy số thực và giữ lại phần thập phân từ chuỗi.
  • Dùng Number() khi muốn chuyển toàn bộ giá trị thành số và yêu cầu dữ liệu đầu vào phải có định dạng số hợp lệ.

Ví dụ, với chuỗi "150px", parseInt() có thể lấy được 150, trong khi Number() trả về NaN. Nếu dữ liệu là "150.5" và cần giữ nguyên phần thập phân, parseFloat() hoặc Number() sẽ phù hợp hơn.

Do đó, thay vì chọn hàm theo thói quen, nên xác định trước dữ liệu có chứa đơn vị hay ký tự dư thừa không, có cần số nguyên hay số thực, và có cần kiểm tra toàn bộ chuỗi đầu vào hay không.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm parseInt() trong JavaScript.

  • ★★★★★ ★★★★★
  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm parseInt() trong JavaScript
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !