处理地图经纬度,保留6位小数


过滤String 、Boolean 、Undefined、Null 类型,将用户输入值返回处理成Number类型且保留6位

 1      /*
 2          * 处理经纬度数据 小数点保留六位
 3          * 经度范围 -180 ~ 180
 4          * 纬度范围 -90 ~ 90
 5          * 超出方位 返回0度
 6          *
 7          */
 8         function longLatitude(longLatVal, isLongitude) {
 9             //处理NaN类型
10             const longlat = parseFloat(longLatVal);       
11             if (isNaN(longlat)) {        
12                 return 0;       
13             }
14 
15             // 经度范围 -180 ~ 180 ;纬度范围 -90 ~ 90
16             const range = isLongitude ? 180 : 90;
17             if (Math.abs(longlat) > range) {
18                 return 0
19             }
20             
21             //小数点保留六位
22             if (longlat.toString().indexOf('.') > 0) {        
23                 const longlatsplit = longLatVal.toString().split('.');       
24                 if (longlatsplit.length >= 2) {          
25                     return parseFloat(longlatsplit[0] === "" ? 0 : longlatsplit[0]) + parseFloat("." + longlatsplit[1].slice(0, 6));        
26                 }      
27             }
28   
29             return longlat;
30         }
31         // 下列以经度测试输出值
32         longLatitude(-10, true)               //0
33         longLatitude('非number', true)         //0
34         longLatitude('0.001', true)         //0.001
35         longLatitude('001.001', true)          //1.001
36         longLatitude('001.001.0001', true)     //1.001
37         longLatitude('001.001000000.0001', true)   //1.001

 

 

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM