Javascript如何判断数值为小数

来源:互联网 发布:淘宝如何设置关联宝贝 编辑:程序博客网 时间:2024/06/11 01:02
在今天的练习中遇到个小问题,如何判断输入的数值是否为小数,经过交流请教
对此问题有所解决。


比如在需要用户输入一个数字来显示该数字是用户的幸运数字时,
下段代码只能判断用户输入的信息是否为数字和是否为大于0的数字:

点击(此处)折叠或打开

  1. var newNum = prompt('请输入一个数字!','');
  2. if(!newNum||isNaN(newNum)){
  3. alert('请输入数字!')
  4. }
  5. else if(nonewNum<0){
  6. alert('请输入一个大于0的数字!')
  7. }
  8. else{
  9. alert(newNum+'将会是你的幸运数字!')
  10. }
当用户输入的数值为小数的时候,判断仍通过(当然这只是一个例子,只要个人喜欢,整数小数都是可以做你的幸运数字的)



那么,要让判断出输入的值是否为小数,就要补充下判断条件:

点击(此处)折叠或打开

  1. else if(String(newNum).indexOf(".")>-1){
  2. alert('请输入整数!')


这样就可以判断输入值是否小数了。

点击(此处)折叠或打开

  1. String(newNum).indexOf(".")>-1
string(newNum)          //先将prompt返回给变量的值newNum转换成字符串

string(newNum).indexOf(".")           //再使用indexOf()函数查找字符串中的小数点".",然后返回小数点在该字符串中出现的位置。indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,如果要检索的字符串值没有出现,则该方法返回 -1。

然后对indexOf()函数返回的值判断,string(newNum).indexOf(".")  >-1 即表示该字符串中存在小数点,则该数值为小数。(因为只有在没有小数点的情况想,indexOf()才会返回-1,只要字符串中包含小数点,便会返回大于或等于0的值,所以返回值只要跟-1比较,大于-1即为小数。)




JS初学者,仅发表学习心得,如有错误之处,还望指教,多多分享。