Hàm floatval() trong PHP

Hàm floatval() trong PHP
Hàm floatval() trong PHP

Chức năng của Hàm floatval() trong PHP

Hàm floatval() trong PHP dùng để lấy phần số thập phân hoặc phần số nguyên ở vị trí đầu tiên trong một biến chuỗi để tạo ra một biến mới mà không làm thay đổi biến gốc, biến mới cũng có kiểu dữ liệu string (chuỗi), nếu ở vị trí đầu tiên của biến chuỗi không có số thập phân hoặc số nguyên thì kết quả trả về 0, hàm này giống với hàm doubleval().

Cú pháp của Hàm floatval() trong PHP

$biến_mới = floatval($biến_chuỗi_gốc);

$biến_chuỗi_gốc: Biến của chuỗi gốc.

$biến_mới: Kết quả trả về biến mới là số thập phân của đầu chuỗi hoặc số nguyên của đầu chuỗi, hoặc bằng 0, kiểu dữ liệu string.

Code Hàm floatval() trong PHP

<h2>Lấy số thập phân ở đầu biến chuỗi</h2>
<?php 
$bien_chuoi = "35.23abc";
echo $bien_moi = floatval($bien_chuoi)."<br>"; // Kết quả: 35.23

// Xem kiểu dữ liệu của biến mới sau khi lấy
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>

<h2>Lấy số nguyên ở đầu biến chuỗi</h2>
<?php 
$bien_chuoi = "35abc";
echo $bien_moi = floatval($bien_chuoi)."<br>"; // Kết quả: 35

// Xem kiểu dữ liệu của biến mới sau khi lấy
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>

<h2>Không có số nguyên hoặc số thập phân ở đầu chuỗi thì kết quả trả về 0</h2>
<?php 
$bien_chuoi = "abc35.5";
echo $bien_moi = floatval($bien_chuoi)."<br>"; // Kết quả: 0

// Xem kiểu dữ liệu của biến mới sau khi lấy
echo gettype($bien_moi)."<br>"; // Kết quả: string
?>

Kết quả:

/////Lấy số thập phân ở đầu biến chuỗi
35.23
string

/////Lấy số nguyên ở đầu biến chuỗi
35
string

/////Không có số nguyên hoặc số thập phân ở đầu chuỗi thì kết quả trả về 0
0
string

Chạy Thử

Khi nào nên sử dụng hàm floatval() trong PHP?

floatval() phù hợp khi dữ liệu đầu vào có thể đang ở dạng chuỗi nhưng chương trình cần một giá trị số thực để tiếp tục xử lý. Hàm đặc biệt hữu ích với dữ liệu nhận từ biểu mẫu, tham số URL hoặc nguồn dữ liệu mà kiểu dữ liệu chưa được đảm bảo.

Xử lý dữ liệu số nhận từ biểu mẫu

Dữ liệu gửi từ biểu mẫu thường được PHP tiếp nhận dưới dạng chuỗi. Khi cần tính toán giá, trọng lượng, tỷ lệ hoặc các giá trị có phần thập phân, có thể dùng floatval() để chuyển dữ liệu sang kiểu số thực trước khi xử lý.

<?php
$price = $_POST['price'] ?? '0';
$price = floatval($price);

$total = $price * 2;

echo $total;
?>

Cách làm này giúp biểu thức tính toán rõ ràng hơn và tránh việc sử dụng trực tiếp dữ liệu đầu vào chưa được chuyển đổi. Tuy nhiên, floatval() chỉ thực hiện chuyển kiểu, không thay thế cho bước kiểm tra dữ liệu đầu vào.

Chuyển chuỗi chứa số thập phân trước khi tính toán

Khi một giá trị số đang được lưu dưới dạng chuỗi, floatval() có thể biến nó thành số thực để sử dụng trong các phép tính. Điều này thường gặp khi đọc dữ liệu từ tệp, cơ sở dữ liệu hoặc API.

<?php
$width = "12.5";
$height = "8.4";

$area = floatval($width) * floatval($height);

echo $area;
?>

Việc chuyển đổi ngay tại thời điểm xử lý giúp xác định rõ dữ liệu đang được dùng với mục đích tính toán. Với các giá trị đã được kiểm soát kiểu dữ liệu từ trước, không nhất thiết phải gọi floatval() một cách dư thừa.

Những trường hợp không nên phụ thuộc vào floatval()

floatval() không phải công cụ xác thực dữ liệu. Nếu giá trị đầu vào có thể chứa ký tự bất thường, định dạng sai hoặc dữ liệu do người dùng nhập, cần kiểm tra và xác thực trước khi chuyển đổi.

Đặc biệt, không nên xem một kết quả số thực được tạo ra từ floatval() là bằng chứng cho thấy dữ liệu ban đầu hợp lệ. Với các giá trị tiền tệ hoặc dữ liệu yêu cầu độ chính xác cao, cũng cần cân nhắc cách biểu diễn và tính toán phù hợp thay vì phụ thuộc hoàn toàn vào kiểu số thực.

Lời kết

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

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm floatval() trong PHP
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) !