php intval和floatval的区别是什么?

pexxcrt2  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(125)

测试此代码时没有发现任何差异

$stock_threshold = get_post_meta( $product->get_id(), '_out_of_stock_threshold', true );
$new_stock_quantity = $product->get_stock_quantity() - intval($stock_threshold);
var_dump( $new_stock_quantity );

**更新:**我不需要小数位,库存数量只需要整数。我使用这两个都没有错误,只是想知道区别,但我认为我需要使用这个的原因是因为数据库中的负库存水平,如-35,数据库不喜欢减号。

我不得不使用intval()来避免数字错误:遇到非数字值。

$stock_threshold = 2
$new_stock_quantity = 8
bjp0bcyl

bjp0bcyl1#

    • intval:**intval()函数返回变量的整数值。
    • 参数值:**
  • variable *-必需。指定要检查的变量
  • base *-可选。指定用于转换的基数。仅当变量为字符串时有效。默认基数为10
  • 〉成功时返回变量的整数值,失败时返回0。空数组返回0,非空数组返回1。它将变量作为参数,并返回其整数值。如果变量包含以数值开头的字符串,它将返回该字符串的整数值。如果变量包含浮点型,它将返回该浮点数的整数部分。如果变量包含非数字值,它将返回0。
    • 示例:**
echo intval(35) . "<br>";     // output: 35

echo intval(3.5) . "<br>";    // output: 3

echo intval("35.2") . "<br>";  // output: 35

echo intval(array()) . "<br>";  // output: 0

echo intval(array("red", "green", "blue")) . "<br>";   // output: 1
    • floatval:**floatval()函数返回变量的浮点值。
    • 参数值:**
  • variable *-必需。指定要检查的变量。必须是标量类型
  • 〉成功时返回变量的浮点值,失败时返回0。空数组返回0,非空数组返回1。它将变量作为参数,并返回其浮点值。如果变量包含以数值开头的字符串,则返回该字符串的浮点值。如果变量包含整数,则返回该字符串的浮点值。它会将它转换为浮点数。如果变量包含非数字值,它会返回0。
    • 示例:**
echo floatval("235.567889") . "<br>";    // Output: 235.567889

echo floatval("235.567889Example") . "<br>";   // Output: 235.567889

echo floatval(35.56) . "<br>";  // Output: 35.56

echo floatval("Example123") . "<br>";    // Output: 0

相关问题