本章节通过代码实例介绍一下如何判断一个变量是正数还是负数。

貌似非常简单的一个需求,其实深究起来还是有点麻烦的。

有些朋友可能感觉实在是太简单了,比如下面的代码:[JavaScript] 纯文本查看 复制代码运行代码var num = 5;

if (num > 0) {

console.log("正数");

}

貌似很简单其实漏洞很多的,如果num等于true,同样也会打印"正数"。

代码如下:[JavaScript] 纯文本查看 复制代码运行代码var num = true;

if (num > 0) {

console.log("正数");

}

下面展开来介绍一下如何判断变量的正负数:

一.判断数字的正负:[JavaScript] 纯文本查看 复制代码运行代码var num = 5;

var numStr = "5";

console.log(typeof num == "number" && !isNaN(num) && num > 0)

console.log(typeof numStr == "number" && !isNaN(numStr) && numStr > 0)

上面的代码可以验证一个数字的正负,数字字符串不行。

二.数字字符串的正负:

当然字符串无所谓正负,我们无需钻这个牛角尖。[JavaScript] 纯文本查看 复制代码运行代码var one = "5";

var two = "8.5";

var three = "8.578";

console.log(typeof one == 'string' && one.match(/^\d+((\.\d+){0,})?$/) && parseFloat(one) > 0);

console.log(typeof two == 'string' && two.match(/^\d+((\.\d+){0,})?$/) && parseFloat(two) > 0);

console.log(typeof three == 'string' && three.match(/^\d+((\.\d+){0,})?$/) && parseFloat(three) > 0);

上面的代码可以验证一个数字字符串转换为数字后的正负。

三.以上两者的综合:

很多时候可能无论是真正的数字还是字符串可能都要考虑在内,下面就来封装一下。

代码实例如下:[JavaScript] 纯文本查看 复制代码运行代码var one = 5;

var two = "8.5";

var three = "8.578";

function check(arg) {

if (typeof arg == "string") {

return !!(arg.match(/^\d+((\.\d+){0,})?$/) && parseFloat(arg) > 0)

} else if (typeof arg == "number") {

return !isNaN(arg) && arg> 0;

} else {

return "参数不正确";

}

}

console.log(check("5a"));

console.log(check(one));

console.log(check(two));

console.log(check(three));

上面的代码实现了我们的要求,更多内容可以参阅相关阅读。

相关阅读:

(1).match()参阅正则表达式match()函数一章节

(2).parseFloat()参阅javascript parseFloat()一章节。

(3).typeof参阅javascript typeof运算符一章节。

javascript 判断为负数_JavaScript判断数字正负数相关推荐

  1. python判断正负零_javascript 判断正负0

    ES 2015/ ES 6 新增了一个方法用于 javascript 相等性判断 – Object.is().它与之前的相等比较运算符有什么不同呢? 三种不同的值比较操作抽象相等比较 (==):将执行 ...

  2. javascript 判断为负数_JavaScript从零开始——标准库(7)

    今天的重点,是数值(Number)对象. 1 概念 Number对象是数值对应的包装对象,可以作为构造函数使用,也可以作为工具函数使用. 作为构造函数时,它用于生成值为数值的对象: 上面代码中,Num ...

  3. 用js代码判断质数_JavaScript判断数字是否为质数的方法汇总

    前言 今天看到一个题目,让判断一个数字是否为质数.看上去好像不难.因此,我决定实现一下. DOM结构 计算500以内的质数并输出 $(function(){ $("#submit" ...

  4. C# 判断正负数个数

    ` //判断正负数个数Console.WriteLine("请输入数字(输入0结束)");int num = int.Parse(Console.ReadLine());int p ...

  5. html5判断text文本是数字,JavaScript常用判断写法大全

    js验证表单大全,用JS控制表单提交,具体内容如下所示: 1. 长度限制 function test() { if(document.a.b.value.length>50) { alert(& ...

  6. JavaScript实现判断32位的数字是否为正数isPositive算法(附完整源码)

    JavaScript实现判断32位的数字是否为正数isPositive算法(附完整源码) isPositive.js完整源代码 isPositive.js完整源代码 export default fu ...

  7. python判断正数负数_python判断正负数方式

    我就废话不多说了,大家还是直接看代码吧! a1 = raw_input("please input a number") a = int(a1) if(a!=0): if(a &g ...

  8. python--if语句判断数字正负值

    num = float(input("输入一个数字:")) if num > 0:print('正数') elif num == 0:print("0") ...

  9. Oracle 判断正负数函数 sign

    sign(数值).正数大于0返回1,等于0返回0,负数小于0返回-1. select sign(1) from dual: 此函数可以判断正负数数值判断. ----------------小尾巴分割- ...

  10. 判断bigdecimal类型是正负数还是0+bigdecimal正负数转换

    1.bigdecimal类型判断 public static void main(String[] args) {BigDecimal bi = new BigDecimal("2.2356 ...

最新文章

  1. ARM架構的Linux內核的空間佈局
  2. MNE-Python专辑 (2) MNE中数据结构Raw及其用法简介(更新)
  3. OpenSCAD 建模:矿泉水瓶盖
  4. java设计模式---单例模式
  5. 这些deep learning(rnn、cnn)调参的经验值得分享
  6. 5G NR 随机接入--PRACH
  7. SUSE团队已将重心偏向GCC 7
  8. java jar 目录_将Java类路径中的所有jar包括在一个目录中
  9. array数组的若干操作
  10. 导入开源的文件云存储平台-Seafile
  11. 利用sort对数组快速排序
  12. oracle高压水位线,Oracle 高水位线详解(HWM)
  13. MTK:内存管理机制简单分析
  14. 吉他入门教程之如何练习演奏技巧—即兴演奏(下)
  15. #806.宝箱 思维
  16. python基础教程:face++与python实现人脸识别签到(考勤)功能
  17. Discriminative Learning of Relaxed Hierarchy for Large-scale Visual Recognition
  18. 学习python-day02-25---转自Python分布式爬虫打造搜索引擎Scrapy精讲
  19. RankNet,LambdaRank,LambdaMart
  20. jQuery取消checkbox选中状态

热门文章

  1. [NIPS 2018] Stacked Semantics-Guided Attention Model for Fine-Grained Zero-Shot Learning
  2. “开会” 引发的思考
  3. 有道云笔记怎么保存html,有道云笔记怎么保存网页?有道云笔记保存路径是什么...
  4. 有道云笔记 markdown html,有道云笔记Markdown之流程图
  5. mysql analyze_MySQL数据库执行analyze采集信息
  6. python3+selenium实现126邮箱登陆 _修改个人设置(未封装)
  7. c语言百分号-5.2f什么意思,c语言中的%d跟%5.2f有什么区别
  8. TOM邮箱|国内适合商务人士的邮箱是什么邮箱
  9. BOOST升压有源功率因数校正
  10. 星际萤火|人民日报:IPFS将带来无盗版网络时代?