在PHP中,我需要编写一个函数,该函数接受一个字符串,并尽可能将其转换返回到一个浮点型,否则只返回输入字符串。
我以为这个函数会起作用。显然,这种比较是错误的,但我不明白为什么。
function toNumber ($input) {
$num = floatval($input); // Returns O for a string
if ($num == $input) { // Not the right comparison?
return $num;
} else {
return $input;
}
}
echo(gettype(toNumber("1"))); // double
echo(gettype(toNumber("3.14159"))); // double
echo(gettype(toNumber("Coco"))); // double (expected: string)发布于 2013-03-27 22:59:52
function toNumber($input) {
return is_numeric($input) ? (float)$input : $input;
}发布于 2013-03-27 23:05:14
尝试if($num){return $num;}else{return $input},这将很好地工作,当$num =0时,它将只跳转到else语句部分
发布于 2013-03-27 22:59:58
如果我理解正确的话,最快的方法是检查$num == 0,而不是$num == $input。
https://stackoverflow.com/questions/15662021
复制相似问题