JavaScript字符串数值比较问题【金冠53777】

作者:操作系统

JavaScript字符串数值比较问题

1、问题背景

今天,在项目中遇到一个问题:两个输入框,一个输入框的值是8.4,另一个是21.3,比较两个输入框里值时,出现了8.4大于21.3

 

2、问题分析

首先,获取输入框中的值是字符串,而字符串比较是根据ASCII码,由于8的ASCII码比2的ASCII码大,导致出现了8.4大于21.3

 

3、问题验证

(1)设计源码

 

<script type=text/javascript> function compareData() { var data1 = document.getElementById(inval).value; var data2 = document.getElementById(typev).value; if(data1 > data2) { alert(data1+大于+data2); } else { alert(data1+小于等于+data2); } } </script>
(2)运行结果

 

金冠53777 1

 

4、解决办法

(1)将字符串转换成数值

 

function compareData()
 {
     var data1 = document.getElementById(inval).value;
  var data2 = document.getElementById(typev).value;
  if(Number(data1) > Number(data2))
  {
      alert(data1+大于+data2); 
  }
  else
  {
   alert(data1+小于等于+data2);
  }
 }

(2)运行结果

 

金冠53777 2

 

1、问题背景 今天,在项目中遇到一个问题:两个输入框,一个输入框的值是8.4,另一个是21.3,比较两个输入...

本文由金冠53777-金冠娱乐53777-Welcome发布,转载请注明来源

关键词: