js 精确加减法

//加法函数  
function accAdd(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;  
}   
//给Number类型增加一个add方法,,使用时直接用 .add 即可完成计算。   
Number.prototype.add = function (arg) {  
    return accAdd(arg, this);  
};  
  
//减法函数  
function Subtr(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));  
     //last modify by deeka  
     //动态控制精度长度  
    n = (r1 >= r2) ? r1 : r2;  
    return ((arg1 * m - arg2 * m) / m).toFixed(n);  
}  
  
//给Number类型增加一个add方法,,使用时直接用 .sub 即可完成计算。   
Number.prototype.sub = function (arg) {  
    return Subtr(this, arg);  
};  
  
//乘法函数  
function accMul(arg1, arg2) {  
    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();  
    try {  
        m += s1.split(".")[1].length;  
    }  
    catch (e) {  
    }  
    try {  
        m += s2.split(".")[1].length;  
    }  
    catch (e) {  
    }  
    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);  
}   
//给Number类型增加一个mul方法,使用时直接用 .mul 即可完成计算。   
Number.prototype.mul = function (arg) {  
    return accMul(arg, this);  
};   
  
//除法函数  
function accDiv(arg1, arg2) {  
    var t1 = 0, t2 = 0, r1, r2;  
    try {  
        t1 = arg1.toString().split(".")[1].length;  
    }  
    catch (e) {  
    }  
    try {  
        t2 = arg2.toString().split(".")[1].length;  
    }  
    catch (e) {  
    }  
    with (Math) {  
        r1 = Number(arg1.toString().replace(".", ""));  
        r2 = Number(arg2.toString().replace(".", ""));  
        return (r1 / r2) * pow(10, t2 - t1);  
    }  
}   
//给Number类型增加一个div方法,,使用时直接用 .div 即可完成计算。   
Number.prototype.div = function (arg) {  
    return accDiv(this, arg);  
};   
 使用方法:
Js代码  收藏代码
//加法示例(其它的都类似)  
function calculate() {  
    //数字1  
                var num1 = 10;  
                //数字2  
                var num2 = 5;  
                //计算 num1 + num2  
                alert(num1.add(num2));  
}  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你想要在UniApp中实现加减法运算吗?UniApp是一个基于Vue.js的跨平台框架,可以用来开发多端应用程序,包括iOS、Android和Web等。要实现加减法运算,你可以使用JavaScript来处理逻辑。 首先,在你的UniApp项目中创建一个页面或组件,在该页面或组件中编写HTML代码,包括输入框和按钮等元素,用于输入操作数和展示结果。然后,在相应的JavaScript文件中编写逻辑代码来实现加减法运算。 以下是一个简单的示例代码: HTML模板代码: ```html <template> <view> <input type="number" v-model="num1" placeholder="请输入第一个操作数" /> <input type="number" v-model="num2" placeholder="请输入第二个操作数" /> <button @click="add">加法运算</button> <button @click="subtract">减运算</button> <p>结果:{{ result }}</p> </view> </template> ``` JavaScript代码: ```javascript <script> export default { data() { return { num1: 0, num2: 0, result: 0 }; }, methods: { add() { this.result = this.num1 + this.num2; }, subtract() { this.result = this.num1 - this.num2; } } }; </script> ``` 这段代码实现了一个简单的加减法运算功能。当点击"加法运算"按钮时,会将两个操作数相加并将结果赋值给result变量;当点击"减运算"按钮时,会将第一个操作数减去第二个操作数并将结果赋值给result变量。最后,通过模板语将结果展示在页面上。 请注意,这只是一个简单的示例代码,你可以根据自己的需求进行扩展和优化。希望对你有所帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值