全局封装浮点加法,减法,乘法,除法,时间戳转换成日期方法。

1.在项目src下面新建utils文件夹
2.在utils下新建gfun.js文件,代码如下

export default {
	// 浮点数减法
	floatSub(arg1, arg2) {
		var r1, r2, m, n
			try {
			  r1 = arg1.toString().split('.')[1].length
			} catch (e) {
			  r1 = 0
			}
			try {
			  r2 = arg2.toString().split('.')[1].length
			} catch (e) {
			  r2 = 0
			}
			m = Math.pow(10, Math.max(r1, r2))
			n = (r1 >= r2) ? r1 : r2
		return Math.abs(((arg1 * m - arg2 * m) / m).toFixed(n))
	  },
	// 浮点数加法
	floatAdd(arg1, arg2) {
		var r1, r2, m
			try {
				r1 = arg1.toString().split('.')[1].length
			} catch (e) {
				r1 = 0
			}
			try {
				r2 = arg2.toString().split('.')[1].length
			} catch (e) {
				r2 = 0
			}
			m = Math.pow(10, Math.max(r1, r2))
		return (arg1 * m + arg2 * m) / m
	    },
	//浮点除法
	floatdiv(a, b) {
	    var c, d, e = 0,
	        f = 0;
	    try {
	        e = a.toString().split(".")[1].length;
	    } catch (g) {}
	    try {
	        f = b.toString().split(".")[1].length;
	    } catch (g) {}
	    return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), this.floatmul(c / d, Math.pow(10, f - e));
	},
	//浮点乘法
	floatmul(a, b) {
	    var c = 0,
	        d = a.toString(),
	        e = b.toString();
	    try {
	        c += d.split(".")[1].length;
	    } catch (f) {}
	    try {
	        c += e.split(".")[1].length;
	    } catch (f) {}
	    return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
	},
},
	// 时间戳转换成日期
	timestampToDate(DateNum, AccurateTo) {
		var date = new Date(DateNum * 1000)
		var returnValue = ''
		var Y = date.getFullYear()
		var M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
		var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
		var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
		var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
		var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
		switch (AccurateTo) {
		  case 'Y':
			returnValue = Y
			break
		  case 'M':
			returnValue = Y + '-' + M
			break
		  case 'D':
			returnValue = Y + '-' + M + '-' + D
			break
		  case 'h':
			returnValue = Y + '-' + M + '-' + D + ' ' + h
			break
		  case 'm':
			returnValue = Y + '-' + M + '-' + D + ' ' + h + ':' + m
			break
		  case 's':
			returnValue = Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s
			break
		  default:
			returnValue = Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s
		}
		return returnValue
	},

3.在main.js中将gfun.js挂载vue实列中

import gfun from './utils/gfun' //引入gfun工具方法
Vue.prototype.gfun = gfun //挂载实例属性,这样挂载后就可以在页面中使用:this.gfun.方法名(...形参);来调用了。

4.使用方法

console.log(this.gfun.floatAdd(1.1111,2.2222)); //加法
console.log(this.gfun.floatSub(2.1111,1.2222)); //减法
console.log(this.gfun.floatmul(1.1111,2.2222)); //乘法
console.log(this.gfun.floatdiv(1.1111,2.2222)); //除法
console.log(this.gfun.timestampToDate(1582588800,"s")); //时间戳转换成日期

打印结果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值