Hàm doubleval() trong PHP
Trần Thị Vân
- 1247
- 08/08/2025
Chức năng của Hàm doubleval() trong PHP
Hàm doubleval() 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 floatval().
Cú pháp của Hàm doubleval() trong PHP
$biến_mới = doubleval($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 doubleval() trong PHP
<h2>Lấy số thập phân ở đầu biến chuỗi</h2>
<?php
$bien_chuoi = "35.23abcd";
echo $bien_moi = doubleval($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 = doubleval($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 = doubleval($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
doubleval() khác gì floatval() và intval() trong PHP?
Khi xử lý dữ liệu số trong PHP, doubleval(), floatval() và intval() đều có thể dùng để chuyển đổi giá trị. Tuy nhiên, mỗi hàm phù hợp với một kiểu dữ liệu đầu ra khác nhau. Hiểu rõ sự khác biệt giúp tránh tình trạng mất phần thập phân hoặc nhận kết quả không đúng với mục đích xử lý.
doubleval() và floatval() có gì khác nhau?
Về kết quả thực tế, doubleval() và floatval() tương đương nhau: cả hai đều chuyển giá trị thành số thực. Vì vậy, nếu mục đích chỉ là lấy một giá trị kiểu float, bạn có thể sử dụng một trong hai hàm.
Ví dụ:
<?php
$value = "125.75";
echo doubleval($value);
echo floatval($value);
?>
Cả hai cách đều cho ra giá trị 125.75. Trong code mới, floatval() thường dễ nhận biết mục đích hơn vì tên hàm thể hiện trực tiếp kiểu dữ liệu mà giá trị được chuyển đổi thành.
Khi nào nên dùng intval() thay vì doubleval()?
Nếu dữ liệu chỉ cần số nguyên, intval() phù hợp hơn. Hàm này loại bỏ phần thập phân trong quá trình chuyển đổi thay vì giữ lại như doubleval().
Ví dụ, khi xử lý số lượng sản phẩm, tuổi hoặc một giá trị chỉ được phép là số nguyên, không cần thiết phải giữ phần thập phân.
<?php
$value = "125.75";
echo intval($value);
echo doubleval($value);
?>
Kết quả lần lượt là 125 và 125.75. Do đó, việc chọn hàm nên dựa vào kiểu dữ liệu mà chương trình cần sử dụng sau khi chuyển đổi, thay vì chỉ dựa vào dữ liệu đầu vào.
Chọn hàm chuyển đổi số phù hợp với từng dữ liệu
- doubleval(): dùng khi cần chuyển giá trị thành số thực và muốn giữ phần thập phân.
- floatval(): có tác dụng tương đương doubleval(), phù hợp khi muốn thể hiện rõ việc chuyển đổi sang kiểu float.
- intval(): dùng khi cần giá trị số nguyên và không cần phần thập phân.
Với dữ liệu như giá sản phẩm, tỷ lệ phần trăm hoặc kết quả phép tính có số lẻ, nên ưu tiên kiểu số thực. Ngược lại, dữ liệu như số lượng, chỉ số hoặc số thứ tự thường phù hợp với số nguyên. Chọn đúng hàm ngay từ đầu giúp code dễ đọc hơn và hạn chế lỗi khi dữ liệu tiếp tục được tính toán.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Hàm doubleval() trong PHP.
- 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 *