$str = "00010123.90";
echo ($str);
echo ("<BR />");
echo ((int)$str);
echo ("<BR />");
echo is_numeric($str);
echo ("<BR />");
echo is_numeric((int)$str);
die();
//------------------------------------
$str = 00010123.90;
echo ($str);
echo ("<BR />");
echo ((int)$str);
echo ("<BR />");
echo is_numeric($str);
echo ("<BR />");
echo is_numeric((int)$str);
die();

解决方案 »

  1.   

    <?php
    $aa="00010123.90"; 
    echo is_numeric($aa)?'N':'S'; 
    ?>结果:
    N
      

  2.   

    那么估计你需要参考这两个【is_int】【is_nan】
      

  3.   

    可以新建个
    <?php
    $aa="00010123.90"; 
    function is_num($n){
    return preg_match('/^\d+\.?\d+$/',$n);
    }
    echo is_num($aa);
    ?>
      

  4.   

    楼上的好暴力.这个不要用正则吧...
    $aa="00010123.90"; 
    function is_num($n){
        return preg_match('/^\d+\.?\d+$/',$n);
    //万一别人写了个很无聊的 32. 呢. 负数呢????
     return preg_match('/^\-?\d+\.?\d*$/',$n);
    }
    echo is_num($aa);<?
    $aa="00010123.90"; 
    $float_value = floatval ($aa);echo is_numeric($float_value); ?>
      

  5.   

    is_numeric --  检测变量是否为数字或数字字符串 
    挺好用啊。不要把简单问题搞那么复杂啊。
      

  6.   


    <?php
    $aa="00010123.90"; 
    function is_num($n){
        return preg_match('/^(\d+\.)?\d+$/',$n);
    }
    echo is_num($aa);
    ?>
      

  7.   

    $aa="00010123.90";
    $aa 赋值 用的双引号,那么$aa不管内容是什么,他的变量类型是字符串型,那么is_numeric返回肯定是false