isNaN+parseFloat进行统计以及对NaN的处理【JS验证数字】
今天遇到这么一个需求:
对数据进行统计,可是在统计的时候parseFloat的时候出来一个NaN。后来用isNaN判断,如果是NaN,就给其设置一个初值.
先看对两个方法的解释
parseFloat:
返回由字符串转换得到的浮点数。
parseFloat(numString)
必选项 numString 参数是包含浮点数的字符串。
说明
parseFloat 方法返回与 numString 中保存的数相等的数字表示。如果 numString 的前缀不能解释为浮点数,则返回 NaN (而不是数字)。
parseFloat("abc")//返回NaN。
parseFloat("1.2abc")//返回1.2。
可以用 isNaN 方法检测 NaN。
parseInt 方法
返回由字符串转换得到的整数。
parseInt(numString, [radix])
参数
numString
必选项。要转换为数字的字符串。
radix
可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。
说明
parseInt 方法返回与保存在 numString 中的数字值相等的整数。如果 numString 的前缀不能解释为整数,则返回 NaN(而不是数字)。
parseInt("abc")//返回NaN。
parseInt("12abc")//返回12。
可以用 isNaN 方法检测 NaN。
isNaN 方法
返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。
isNaN(numValue)
必选项 numvalue 参数为要检查是否为 NAN 的值。
说明
如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。
还有一种办法,变量可以与它自身进行比较。 如果比较的结果不等,那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值。
最后附一个isNaN+parseFloat统计的例子:
var conutAllInfo=function(){
var dan_numQues=parseFloat($(".danxuanBigTitle .numQues").text());// 单选题数
var dan_score=parseFloat($(".danxuanBigTitle .el_modifiedGrade").val());// 单选分值
var dan_total=parseFloat($(".danxuanBigTitle .numTotal").text());// 单选总分
var duo_numQues=parseFloat($(".duoxuanBigTitle .numQues").text());// 多选总数
var duo_score=parseFloat($(".duoxuanBigTitle .el_modifiedGrade").val());// 多选分值
var duo_total=parseFloat($(".duoxuanBigTitle .numTotal").text());// 多选总分
var pan_numQues=parseFloat($(".panduanBigTitle .numQues").text());// 判断总数
var pan_score=parseFloat($(".panduanBigTitle .el_modifiedGrade").val());// 判断分值
var pan_total=parseFloat($(".panduanBigTitle .numTotal").text());// 判断总分
$("#dan_num").text(validateNaN(dan_numQues));
$("#dan_score").text(validateNaN(dan_score));
$("#dan_total").text(validateNaN(dan_total));
$("#duo_num").text(validateNaN(duo_numQues));
$("#duo_score").text(validateNaN(duo_score));
$("#duo_total").text(validateNaN(duo_total));
$("#pan_num").text(validateNaN(pan_numQues));
$("#pan_score").text(validateNaN(pan_score));
$("#pan_total").text(validateNaN(pan_total));
$("#all_total").text(parseFloat($("#dan_total").text())+parseFloat($("#duo_total").text())+parseFloat($("#pan_total").text()));
$("#myModal").modal({backdrop: "static", keyboard: false});
}
// 验证是否是数字,不是数字返回零
var validateNaN=function(num){
if(isNaN(num)){
return 0;
}else return num;
}
结果:

isNaN+parseFloat进行统计以及对NaN的处理【JS验证数字】的更多相关文章
- 函数isNaN() parseFloat() parseInt() Math对象
isNaN() 定义和用法 isNaN() 函数用于检查其参数是否是非数字值. isNaN(x) x 是特殊的非数字值 NaN(或者能被转换为这样的值) console.log(isNaN(NaN)) ...
- python将nan, inf转为特定的数字
最近,处理两个矩阵的点除,得到结果后,再作其他的计算,发现有些内置的函数不work:查看得到的数据,发现有很多nan和inf,导致python的基本函数运行不了,这是因为在除的过程中分母出现0的缘故. ...
- js null, undefined, NaN, ‘’, false, 0, ==, === 全验证
<html> <head> <meta charset="utf-8" /> </head> <body> <in ...
- JavaScript 类型判断 —— typeof 以及 instanceof 中的陷阱
JavaScript中基本类型包含Undefined.Null.Boolean.Number.String以及Object引用类型.基本类型可以通过typeof来进行检测,对象类型可以通过instan ...
- 3 数据分析之Numpy模块(2)
数组函数 通用元素级数组函数通用函数(即ufunc)是一种对ndarray中的数据执行元素级的运算.我们可以将其看做是简单的函数(接收一个或多个参数,返回一个或者多个返回值). 常用一元ufunc: ...
- 20个超实用的JavaScript技巧及最佳实践
1.第一次给变量赋值时,别忘记var关键字 给一个未声明的变量赋值,该变量会被自动创建为全局变量,在JS开发中,应该避免使用全局变量. 2.使用===替换== 并且永远不要使用=或!=. ...
- 【javascript】详解变量,值,类型和宿主对象
前言 我眼中的<javascript高级程序设计> 和<你不知道的javascript>是这样的:如果<javascript高级程序设计>是本教科书的话, < ...
- 【你不知道的javaScript 中卷 笔记1】javaScript中的类型与值
一.类型与值 1.0 javaScript 七种内置类型: 空值(null) 未定义(undefined) 布尔值( boolean) 数字(number) 字符串(string) 对象(object ...
- JQuery数字类型验证正则表达式
有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下. 这里包括了数字验证实现与测试实例了,大家可参考. js验证数字正则表达式 代码如下: //检测是否为数字和小 ...
随机推荐
- 【转】PowerManager 与 WakeLock
PowerManager 与 WakeLock PowerManager 用来控制设备的电源状态. 而PowerManager.WakeLock 也称作唤醒锁, 是一种保持 CPU 运转防止设备休眠的 ...
- shutil模块详解2
1.shutil.make_archive() 实际上是调用了两个模块来实现压缩打包的功能. zipfile和tarfile两个模块,shutil的两个封装的模块. zip是压缩文件,文件内存会变小, ...
- ios 从相册视频中获取视频截图
//给image添加个分类 +(UIImage *)getImage:(NSURL: *)videoURL { AVURLAsset *asset = [[AVURLAsset alloc] init ...
- 6 Specialzed layers 特殊层 第二部分 读书笔记
CAGradientLayer CAGradientLayer is used to generate a smooth gradient between two or more colors. ...
- 什么是cookie(前段时间看到别人简历上把cookie和localStorage混淆了所以专门又去了解了下)
在前端面试中,有一个必问的问题:请你谈谈cookie和localStorage有什么区别啊? localStorage是H5中的一种浏览器本地存储方式,而实际上,cookie本身并不是用来做服务器存储 ...
- droplang - 删除一种 PostgreSQL 过程语言
SYNOPSIS droplang [ connection-option...] langname [ dbname] droplang [ connection-option...] --list ...
- JavaSE-03 Java选择结构
学习要点 if选择结构 switch选择结构 if选择结构 单分支if选择结构 语法结构 应用场合 问题:如果王小强的Java考试成绩大于98分,小强就能获得一个iphone8作为奖励. 复杂条件下的 ...
- [ERROR ] Error parsing configuration file: /etc/salt/minion - conf should be a document, not <type 'str'>.
错误信息 [ERROR ] Error parsing configuration file: /etc/salt/minion - conf should be a document, not &l ...
- ios之AFN
https://github.com/AFNetworking/AFNetworking 与asi-http-request功能类似的网络库,不过是基于NSURLConnection 和 NSOper ...
- 洛谷——P3801 红色的幻想乡
P3801 红色的幻想乡 推荐阅读 https://blog.csdn.net/qq_41252892/article/details/79035942 非常清楚 线段树单点修改 emmm没什么了 # ...