用php做.用最简单的方法

[复制链接]
查看11 | 回复6 | 2011-7-6 05:59:30 | 显示全部楼层 |阅读模式
输入一个东西,是否一是个数值,这个数值可以带(正号),—(负号)与小数点。不能带豆号。正号负号必须出现在字符串有第一位,小数点必须只能有一个。
回复

使用道具 举报

千问 | 2011-7-6 05:59:30 | 显示全部楼层
致简写法:

$string=\'123.123\';
$result=is_numeric($string);
var_dump($result);






参考资料:<spanclass=\"gray\"><ahref=\"http://cn.php.net/is_numeric\"target=\"_blank\">http://cn.php.net/is_numeric</a></span>
回复

使用道具 举报

千问 | 2011-7-6 05:59:30 | 显示全部楼层
大哥,请看明白问题!
回复

使用道具 举报

千问 | 2011-7-6 05:59:30 | 显示全部楼层
用php做.用最简单的方法
有哪里不对吗?字符串操作,是要切割字符串一个个字符判断吗?
回复

使用道具 举报

千问 | 2011-7-6 05:59:30 | 显示全部楼层
嗯!放在函数里。一个一个进行判断。然后再判断正号,负号是否出现在字符串的第一位。再判断有没有小娄点,有几个、如果有一个反回什么?没有反回什么?要用到循环。。。。谢谢哥们了,我着急埃
回复

使用道具 举报

千问 | 2011-7-6 05:59:30 | 显示全部楼层
用到循环,就很难最简单了埃
给你写了个,看下行不行:

$str=\'123.123\';
var_dump(isnumber($str));

functionisnumber($str){
        $number=array(\'0\',\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\');
        $mark=array(\'\',\'-\');
        $dotnum=0;        //小数点个数
        //蛋疼写法,通过遍历字符串的每个字符,判断字符串是否为有效数字
        for($i=0;$istrlen($str);$i){
                if($str[$i]==\'.\'){
                        $dotnum;
                        if($dotnum1)returnfalse;        //超过一个就返回错误
                        continue;        //如果是小数点,后面的不用判断了
                }
                if(!in_array($str[$i],$mark)        //判断数字的组成部分
                if(in_array($str[$i],$mark)        //保证加减号必须是第一位
        }
        returntrue;
}
回复

使用道具 举报

千问 | 2011-7-6 05:59:30 | 显示全部楼层
我想用字符串操作,怎么写?要用到循环
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行