asc*_*ter 1 php string type-conversion
我有一个unknwon字符串可能类似于浮动。在那种情况下,我想将其转换为float(用于计算),否则将其保留为字符串。
如何检测字符串是否表示浮点数?
$a = "1.23"; // convert $a to 1.23
$b = "1.2 to 1.3"; // leave $b as is
Run Code Online (Sandbox Code Playgroud)
自动字符串转换会将后者转换为1.2,但这不是我想要的。
您可以使用is_numeric()函数检查可能包含数字的变量。例如:
$a = "1.23";
if (is_numeric($a)) {
$a = (float)$a;
}
$b = "1.2 to 1.3";
if (is_numeric($b)) {
$b = (float)$b;
}
var_dump([
'a' => $a,
'b' => $b
]);
Run Code Online (Sandbox Code Playgroud)
输出量
数组(大小= 2)'a'=>浮点数1.23'b'=>字符串'1.2至1.3'(长度= 10)
小智 5
您可以使用以下命令来检查字符串是否为浮点型:
$a = "1.23";
$isFloat = ($a == (string)(float)$a);
Run Code Online (Sandbox Code Playgroud)