Hàm parseFloat() trong JavaScript
Bùi Tấn Lực
- 1073
- 07/09/2025
Chức năng của Hàm parseFloat() trong JavaScript
Hàm parseFloat() trong JavaScript dùng để chuyển các ký tự trong chuỗi string thành số thực, nếu không chuyển được thành số thực thì trả về NaN, lưu ý số nguyên cũng là một dạng số thực.
Cú pháp của Hàm parseFloat() trong JavaScript
parseFloat("kytu");
kytu: Ký tự (Ví dụ: 35.66, 35.00,......)
Code Hàm parseFloat() trong JavaScript
parseFloat("35.66");
<script>
document.write(parseFloat("35.77abc")+"<br>"); // Kết quả: 35.77
document.write(parseFloat("abc35.77")+"<br>"); // Kết quả: NaN
document.write(parseFloat("35.77")+"<br>"); // Kết quả: 35.77
document.write(parseFloat(" 35.77 ")+"<br>"); // Kết quả: 35.77
document.write(parseFloat("35.66")+"<br>"); // Kết quả: 35.66
document.write(parseFloat("35.00")+"<br>"); // Kết quả: 35
document.write(parseFloat("35 36 37")+"<br>"); // Kết quả: 35
document.write(parseFloat("35.5 36.4 37.2")+"<br>"); // Kết quả: 35.5
</script>
Kết quả:
35.77
NaN
35.77
35.77
35.66
35
35
35.5
Những lưu ý khi sử dụng hàm parseFloat() trong JavaScript
parseFloat() khá linh hoạt khi chuyển chuỗi sang số thực, nhưng kết quả có thể khác với mong đợi nếu dữ liệu đầu vào không đúng định dạng. Đặc biệt, hàm có thể trả về NaN hoặc chỉ đọc một phần chuỗi. Hiểu rõ các trường hợp này giúp hạn chế lỗi khi xử lý dữ liệu từ biểu mẫu, API hoặc nội dung người dùng nhập.
parseFloat() trả về NaN khi nào?
parseFloat() trả về NaN khi ký tự đầu tiên sau khi bỏ qua khoảng trắng không thể được diễn giải thành một số. Đây là trường hợp thường gặp khi biến chứa chuỗi rỗng, văn bản hoặc dữ liệu không có phần số hợp lệ.
const a = parseFloat("abc");
const b = parseFloat("");
const c = parseFloat("hello 123");
console.log(a); // NaN
console.log(b); // NaN
console.log(c); // NaN
Ngược lại, nếu chuỗi bắt đầu bằng một giá trị số hợp lệ, parseFloat() có thể đọc phần số đó cho đến khi gặp ký tự không còn thuộc cách biểu diễn số hợp lệ.
const price = parseFloat("125.5 VND");
console.log(price); // 125.5
Vì vậy, không nên mặc định rằng mọi kết quả trả về từ parseFloat() đều là một số hợp lệ. Khi dữ liệu đầu vào không chắc chắn, nên kiểm tra kết quả trước khi thực hiện các phép tính tiếp theo.
Kiểm tra kết quả parseFloat() bằng isNaN()
Sau khi sử dụng parseFloat(), có thể dùng isNaN() để xác định kết quả có phải là giá trị số hợp lệ hay không. Cách này đặc biệt hữu ích khi xử lý dữ liệu do người dùng nhập.
const value = parseFloat("abc");
if (isNaN(value)) {
console.log("Dữ liệu không phải là số hợp lệ");
} else {
console.log("Giá trị:", value);
}
Nếu kết quả là NaN, nên xử lý trường hợp này trước khi tính toán hoặc lưu dữ liệu. Điều này giúp tránh việc giá trị không hợp lệ tiếp tục đi sâu vào các bước xử lý khác.
Xử lý chuỗi có khoảng trắng, ký tự và đơn vị
parseFloat() tự bỏ qua khoảng trắng ở đầu chuỗi nên các giá trị như " 45.8" vẫn có thể được chuyển thành số. Tuy nhiên, khoảng trắng hoặc ký tự xuất hiện sau phần số có thể khiến hàm dừng quá trình đọc.
const first = parseFloat(" 45.8");
const second = parseFloat("45.8px");
const third = parseFloat("45px 80px");
console.log(first); // 45.8
console.log(second); // 45.8
console.log(third); // 45
Điểm này hữu ích khi cần lấy phần số từ những chuỗi có đơn vị như px hoặc dữ liệu được định dạng kèm ký hiệu. Tuy nhiên, nếu yêu cầu của chương trình là kiểm tra toàn bộ chuỗi có đúng định dạng số hay không, không nên chỉ dựa vào parseFloat(), vì hàm có thể vẫn trả về một phần số từ chuỗi chứa dữ liệu dư thừa.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm parseFloat() trong JavaScript.
- 0 Bình luận
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 *