比如我现在一个数字9.5或者11.5
如何判断小数点后一位是不是5呢.因为我只允许输入一位小数.如果输入的小数点后面不是5,就返回false,反之true.也不一定非要是5,也可能是其它数字.

解决方案 »

  1.   

    <script>
    var num = 1441.5,
    n = num.toString();

    if(n.substring(n.indexOf('.')+1) == 5){
    alert(true);
    }else{
    alert(false)
    }
    </script>
      

  2.   

    <script>
    var num = 1441.3,
    n = num.toString();

    if(n.substring(n.indexOf('.')+1) == 5){
    alert(true)
    }else{
    var re = /[.][0-9]/;
    n = n.replace(re,'.5');
    alert(n)
    }
    </script>
      

  3.   

    <script>
    var num = 1441.3,
    n = num.toString();

    if(n.indexOf('.') > 0){
    if(n.substring(n.indexOf('.')+1) == 5){
    alert(true)
    }else{
    var re = /[.][0-9]/;
    n = n.replace(re,'.5');
    alert(n)
    }
    }
    </script>
      

  4.   

    其实正则本身自带这种判断 所以可以直接写var num=11.2;
    num+='';
    num=num.replace(/\.[0-9]$/,'.5');
    alert(num);如果你想有小数的话实现某种效果 可以这么写var num=11.2;
    num+='';
    num=num.replace(/\.[0-9]$/,function (arg0){
    alert(arg0);//这里实现你的效果
    return '.5';
    });
    alert(num);
      

  5.   

    其实正则本身就自带判断
    所以可以直接写
    var num=11.2;
    num+='';
    num=num.replace(/\.[0-9]$/,'.5');
    alert(num);
    如果你想如果是小数实现某个效果的话
    这么来写
    var num=11.2;
    num+='';
    num=num.replace(/\.[0-9]$/,function (arg0){
    alert(arg0);//这里实现你的效果
    return '.5';
    });
    alert(num);