NaN,isNaN,判断输入值是不是数字,判断字符串是否是数字

查看: 40417|回复: 15|关注: 0
求教isnan怎么用
<h1 style="color:# 麦片财富积分
新手, 积分 6, 距离下一级还需 44 积分
刚发帖知道用isnan函数来判断变量是否是数值
但对它的用法仍有一点不清楚
&& isnan('53b2a')
& & 0& &&&0& &&&0& &&&0& &&&0
&& isnan('empty')
& & 0& &&&0& &&&0& &&&0& &&&0
&& isnan(5)
感觉老是返回0啊,上面的 isnan('empty')中的‘empty'不是数字啊,应该返回1啊,怎么返回全是0啊,还请各位指教!
Simulink 基础讨论版块优秀回答者
关注者: 218
help 一下就可以了。
在matlab里,NAN是表示无穷大。(修正这里的说法,inf是表示无穷大,NAN是not a number的缩写。不过,我感觉却指非法操作返回的结果)
& & 使用str2double 或者str2num函数转换字符为数字时,如果是【字母】,则返回无穷大;如果是【数字】,则返回它的数值。
& & isnan是用来判断转换结果的。
str = get……
if&&isnan(str2double())
[ 本帖最后由 柚籽 于
20:58 编辑 ]
单凭文字有歧义,上代码,上截图,上模型
微信: Simulink
<h1 style="color:# 麦片财富积分
一语惊醒梦中人,十分感谢。
<h1 style="color:# 麦片财富积分
回复 2# 的帖子
有个小错误 ,isnan是判断变量是否是数字的,判断无穷大的是用isinf.
此外的解释都对。
<h1 style="color:# 麦片财富积分
问题解决,解决方法
str=get(handles.edit1,'string')
if isempty(str2num(str))
msgbox('input error','error');
函数str2num(str)把字符串str转变为数字,如果str不是数字型字符串的话就返回空矩阵[ ]
刚好可以用函数isempty来判断
Simulink 基础讨论版块优秀回答者
关注者: 218
原帖由 WarChief 于
17:54 发表
有个小错误 ,isnan是判断变量是否是数字的,判断无穷大的是用isinf.
此外的解释都对。
你说的对,呵呵。nan,就是【not a number】;因为习惯用来判断无穷大了,所以都忘记它的愿意了。。抱歉。
但是,它并不是真正意义上的判断是不是数字喔。不管是数字1还是字符'1',还是字母'a',返回的结果都一样呢,因为在它眼里字符也就是数字(对应的ASCII码)。
所以isnan,我觉得是用来是判断【非法操作】的。
各种包括无穷大的操作,【 inf + inf ; 0*inf&&0*Inf ; 0/0 ; Inf/Inf;inf/0】
单凭文字有歧义,上代码,上截图,上模型
微信: Simulink
<h1 style="color:# 麦片财富积分
回复 6# 的帖子
恩,我一般都用它判断非法计算。
以前还从没注意这个问题,长知识了,呵呵。
<h1 style="color:# 麦片财富积分
长知识了!:lol
<h1 style="color:# 麦片财富积分
回复 8# yuanli74 的帖子
我也刚好遇到了这个问题,不错不错,慢慢积累了,看看大家的解释好清楚哦!!!
奥林匹克颂
<h1 style="color:# 麦片财富积分
学习了,thank you!
站长推荐 /3
车辆动力学工具箱介绍:一款集成3D虚拟环境的汽车仿真产品
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区js_检验字符串中是否有字符与数字
在web编程的时候,我们经常会遇到判断一个字段时候包含字符,或者只是数字,本人在实习的时候就遇到这样的问题,以前也有遇到这样的问题,只是没有系统的解决,这次再做起来也多少遇到点麻烦,于是想找个比较好比较方便的方法。
首先,想到的就是想办法判断字符传中每个字符,如果字符串中有字符那么,那么便可以解决,但是这样需要考虑很多问题,比如你知道js的编码是什么吗?但是这里也提供一下代码:
&script language="javascript"
type="text/javascript" &
function check(){
if (myform.txtNumber.value!=""){
var txt = myform.txtNumber.
if (checknumber(txt)){
&&&&&&&&&&
alert("固定资产的数量只能输入数字!");
&&&&&&&&&&
myform.txtNumber.focus();
&&&&&&&&&&
function checknumber(String)
&&&&&&&&&&&
var Letters = "";
&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
for( i = 0; i & String. i ++ )
&&&&&&&&&&&
&&&&&&&&&&&&&&&
c = String.charAt( i );
&&&&&&&&&&&&&&&
if (Letters.indexOf( c ) ==-1)
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
&&/script&
上面的方法很明显是可以解决问题的,但是我们解决问题讲究的是高效率,其实判断是否有字符还可以另外一种方法,那就是js自己提供的isNaN()方法。
isNaN(expression:Object) : Boolean
计算参数,如果值为 NaN(非数字),则返回
true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。
可用性:Flash Player
5;ActionScript 1.0
expression:Object -
要计算的布尔值、变量或其它表达式。
一个布尔值。
if(isNaN(document.login.imgcode.value)){
alert('验证码必须是数字!')
document.login.imgcode.focus();
显然使用isNaN函数,只需要一句话的事情就可以解决,本人已经验证成功。如果有字符返回true,否则返回false。
日12:55:35
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&!DOCTYPE html&&html lang="en"&&head&
&meta charset="UTF-8"&
&title&isNaN判断是不是数字&/title&
&script type="text/javascript" src="http://cdn.gbtags.com/jquery/1.11.1/jquery.min.js"&&/script&
&style type="text/css"&
&/style&&/head&&body&
&input type="text"&
&input type="button" value="判断输入值是不是数字"&&/body&&/html&&script type="text/javascript"&
window.onload=function (){
var aInput=document.getElementsByTagName("input");
aInput[1].onclick=function(){
var text=aInput[0].
if(isNaN(text)){
alert(text+"不是数字");
alert(text+"是数字");
阅读(...) 评论()博主最新文章
博主热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 输入一行数字字符串 的文章

 

随机推荐