numberUtil.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //数字工具
  2. var numberUtil = {
  3. numberFormat: function (value, num) {
  4. //小数点精确到指定位数
  5. return parseFloat(value.toFixed(num));
  6. },
  7. numberSubtract: function (value1, value2) {
  8. //减法运算value1-value2
  9. var v = parseFloat(value1) - parseFloat(value2);
  10. return parseFloat(v.toFixed(2));
  11. },
  12. numberAddition: function (value1, value2) {
  13. //加法运算value1+value2
  14. var v = parseFloat(value1) + parseFloat(value2);
  15. return parseFloat(v.toFixed(2));
  16. },
  17. getAreaDistance: function (lat1, lng1, lat2, lng2) {
  18. //计算经纬距离
  19. lat1 = lat1 || 0;
  20. lng1 = lng1 || 0;
  21. lat2 = lat2 || 0;
  22. lng2 = lng2 || 0;
  23. if (!lat1 || !lng1) {
  24. return '0';
  25. }
  26. var rad1 = lat1 * Math.PI / 180.0;
  27. var rad2 = lat2 * Math.PI / 180.0;
  28. var a = rad1 - rad2;
  29. var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
  30. var r = 6378137;
  31. var rs = r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)));
  32. rs = rs / 1000;
  33. rs = rs.toFixed(2);
  34. return rs;
  35. }
  36. };
  37. module.exports = {
  38. //暴露接口调用
  39. numberFormat: numberUtil.numberFormat,
  40. numberSubtract: numberUtil.numberSubtract,
  41. numberAddition: numberUtil.numberAddition,
  42. getAreaDistance: numberUtil.getAreaDistance
  43. };