zoukankan      html  css  js  c++  java
  • js中的number类型

    NaN有两个特点:

    1 任何涉及NAN的操作都会返回NaN(这个特点在多步计算中可能有问题)

    2NaN与任何值都不相等,包括它本身,例如下面的代码也是返回false

    alert(NaN == NaN)

    针对NaN的这两个特点,ECMAscript定义了isNaN()这个函数,该函数接收一个参数,该参数可以是任意数据类型,而且该参数可以帮我们确定这个参数是否“不是数值”。isNaN()

    接收到一个值之后会将这个值转换成数值。而某些不会转换为数值的值都将返回true

    数值转换

    js中数值转换的函数有三个:parseInt()、parseFloat()、number()

    parseInt ( cString )从字符串cString非空字符开始转换得到的整数,遇到小数点或其他0-9外的字符就停止,如“-1234a”,“-1234.0”都将返回 -1234;如果除第一个符号外一个0-9字符都不是,将返回NaN,如“-a”、“abc”等;


    Number( cString )从字符串cString转换得到的数字,包括Int和Float类型,如:“-123”返回-123,“123”和“00123”都返回 123,“234。56”返回234。56等。cString必须是合法的数字串,否则返回NaN;如“.123”、“1.23.45”、 “--123”、“123a"都返回NaN.


    总之Number( )更象parseFloat( ),Number对参数更挑剔,稍有不是数字就返回NaN。

    parseFloat支持第一个非空字符为小数点,如parseFloat(".123" )返回0.123。

    而Number(".123" )返回NaN。

    空字符串或完全空格串健壮的parseFloat()返回NaN,而Number()返回0,这有点让人费解。

    除了不支持无前导0小数 (如.123、-.123)和支持多余的前导0(如-00123返回-123)多少不符合常规外,Number能用来验证数字串!

  • 相关阅读:
    MySQL全文索引应用简明教程
    web前端的春天 or 噩梦
    [DeviceOne开发]-手势动画示例分享
    [DeviceOne开发]-土地销售项目源码分享
    [DeviceOne开发]-do_LinearLayout组件使用技巧
    2016年我们重新思考移动互联网创业的风险, 微信还是APP?
    APP技术演化的路
    ReactNative&weex&DeviceOne对比
    what's deviceone
    APP开放源码第一弹《纳豆》
  • 原文地址:https://www.cnblogs.com/sandraBlog/p/javascriptNumber.html
Copyright © 2011-2022 走看看