Hàm floatval() trong PHP.

22/06/2020 - lượt xem
Chia sẻ
 
Rate this post

Định Nghĩa.

floatval() là hàm để chuyển đổi một chuỗi thành một số dấu phẩy động.được trích xuất từ ​​tham số đầu vào.

Cú pháp.

Cú pháp:

floatval ( mixed $var ) : float

Trong đó:

  • $var  biến truyền vào.
    Lưu ý. Có thể là bất kỳ loại biến vô hướng nào. floatval () không nên được sử dụng trên các đối tượng; nếu vậy, cảnh báo mức E_NOTICE sẽ được phát ra và hàm sẽ trả về 1.

Giá trị trả về.

  • Giá trị nổi của biến đã cho. Một mảng trống trả về 0, trong khi một mảng không trống trả về 1.
  • Chuỗi chủ yếu sẽ trả về 0, nhưng nó phụ thuộc vào ký tự ngoài cùng bên trái trong chuỗi. Các quy tắc cổ điển để tạo nên một số dấu phẩy động được áp dụng.

Ví dụ.

Sử dụng hàm floatval đơn giản.

code:

<?php
$var = '122.34343The';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 122.34343
?>

kết quả:

122.34343

Ví dụ 2 với các ký tự không phải là số ở bên trái.

code:

<?php
$var = 'The122.34343';
$float_value_of_var = floatval($var);
echo $float_value_of_var; // 0
?>

Kết quả:

0

Hàm liên quan.

  • boolval() – Nhận giá trị boolean của một biến
  • intval() – Trả về giá trị nguyên tương đương của một biến
  • strval() – Lấy giá trị của biến, ở định dạng chuỗi
  • settype() – Gán một kiểu dữ liệu cho một biến.
  • Transtypage

Thông tin thêm.

  • Một hàm có thể bạn cần Hàm này lấy dấu phẩy hoặc dấu chấm cuối cùng (nếu có) để tạo một dấu phẩy sạch, bỏ qua hàng nghìn dấu phân cách, tiền tệ hoặc bất kỳ chữ cái nào khác:

    function tofloat($num) {
        $dotPos = strrpos($num, '.');
        $commaPos = strrpos($num, ',');
        $sep = (($dotPos > $commaPos) && $dotPos) ? $dotPos :
            ((($commaPos > $dotPos) && $commaPos) ? $commaPos : false);
      
        if (!$sep) {
            return floatval(preg_replace("/[^0-9]/", "", $num));
        }
    
        return floatval(
            preg_replace("/[^0-9]/", "", substr($num, 0, $sep)) . '.' .
            preg_replace("/[^0-9]/", "", substr($num, $sep+1, strlen($num)))
        );
    }
    
    $num = '1.999,369€';
    var_dump(tofloat($num)); // float(1999.369)
    $otherNum = '126,564,789.33 m²';
    var_dump(tofloat($otherNum)); // float(126564789.33)
  • bạn cũng có thể sử dụng typecasting thay vì các chức năng: (float) $ value;

  • Dưới đây là một hàm bạn cung có thể dùng.Hàm đang test với các số rất lớn và rất nhỏ (ví dụ từ cơ sở dữ liệu DECIMAL), mà không hiển thị ký hiệu khoa học hoặc các số 0 đứng đầu.

    <?php
    function floattostr( $val )
    {
        preg_match( "#^([\+\-]|)([0-9]*)(\.([0-9]*?)|)(0*)$#", trim($val), $o );
        return $o[1].sprintf('%d',$o[2]).($o[3]!='.'?$o[3]:'');
    }
    ?>
    
    <?php
    echo floattostr("0000000000000001");
    echo floattostr("1.00000000000000");
    echo floattostr("0.00000000001000");
    echo floattostr("0000.00010000000");
    echo floattostr("000000010000000000.00000000000010000000000");
    echo floattostr("-0000000000000.1");
    echo floattostr("-00000001.100000");
    
    // result
    // 1
    // 1
    // 0.00000000001
    // 0.0001
    // 10000000000.0000000000001
    // -0.1
    // -1.1
    
    ?>

Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm floatval() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.
Cảm ơn các bạn đã ghé thăm codetutam.com

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm