php - 检查字符串是否包含浮点数

mar*_*osh 3 php string floating-point

检查字符串是否包含有效浮点数的最简单方法是什么?

例如

is_string_float("1") = true
is_string_float("1.234") = true
is_string_float("1.2e3") = true
is_string_float("1b2") = false
is_string_float("aldhjsfb") = false
Run Code Online (Sandbox Code Playgroud)

小智 7

最简单的方法是使用内置函数is_float()。要测试变量是数字还是数字字符串,您必须使用is_numeric()


小智 5

如果您确实想知道字符串是否包含浮点数且仅包含浮点数,则不能仅使用is_float()(错误类型)或is_numeric()(也返回true字符串"1")。我会用

<?php

    function foo(string $string) : bool {
        return is_numeric($string) && strpos($string, '.') !== false;
    }

?>
Run Code Online (Sandbox Code Playgroud)

反而。