util.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. function formatTime(date) {
  2. var year = date.getFullYear()
  3. var month = date.getMonth() + 1
  4. var day = date.getDate()
  5. var hour = date.getHours()
  6. var minute = date.getMinutes()
  7. var second = date.getSeconds()
  8. return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
  9. }
  10. function formatNumber(n) {
  11. n = n.toString()
  12. return n[1] ? n : '0' + n
  13. }
  14. //浮点数加法运算
  15. function floatAdd(arg1,arg2){
  16. var r1,r2,m;
  17. try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
  18. try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
  19. m=Math.pow(10,Math.max(r1,r2));
  20. return (arg1*m+arg2*m)/m;
  21. }
  22. //浮点数减法运算
  23. function floatSub(arg1,arg2){
  24. var r1,r2,m,n;
  25. try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
  26. try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
  27. m=Math.pow(10,Math.max(r1,r2));
  28. //动态控制精度长度
  29. n=(r1=r2)?r1:r2;
  30. return ((arg1*m-arg2*m)/m).toFixed(n);
  31. }
  32. //浮点数乘法运算
  33. function floatMul(arg1,arg2){
  34. var m=0,s1=arg1.toString(),s2=arg2.toString();
  35. try{m+=s1.split(".")[1].length}catch(e){}
  36. try{m+=s2.split(".")[1].length}catch(e){}
  37. return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
  38. }
  39. //浮点数除法运算
  40. function floatDiv(arg1,arg2){
  41. var t1=0,t2=0,r1,r2;
  42. try{t1=arg1.toString().split(".")[1].length}catch(e){}
  43. try{t2=arg2.toString().split(".")[1].length}catch(e){}
  44. r1=Number(arg1.toString().replace(".",""));
  45. r2=Number(arg2.toString().replace(".",""));
  46. return (r1/r2)*Math.pow(10,t2-t1);
  47. }
  48. module.exports = {
  49. formatTime:formatTime,
  50. floatMul:floatMul,
  51. floatDiv:floatDiv,
  52. floatSub:floatSub,
  53. floatAdd:floatAdd
  54. }