js浮点数加减乘除

版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/article/details/77447842

乘法

function mul(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);  
}

加法

function add(a,b){
    var c, d, e;
    try {
        c = a.toString().split(".")[1].length;
    } catch (f) {
        c = 0;
    }
    try {
        d = b.toString().split(".")[1].length;
    } catch (f) {
        d = 0;
    }
    e = Math.pow(10, Math.max(c, d));
    return  (mul(a, e) + mul(b, e)) / e;
}

减法

function sub(a, b) {
    var c, d, e;
    try {
        c = a.toString().split(".")[1].length;
    } catch (f) {
        c = 0;
    }
    try {
        d = b.toString().split(".")[1].length;
    } catch (f) {
        d = 0;
    }
    e = Math.pow(10, Math.max(c, d));
    return (mul(a, e) - mul(b, e)) / e;
}

除法

function div(a, b) {
    var c, d, e = 0,
           f = 0;
    try {
        e = a.toString().split(".")[1].length;
    } catch (g) {
        e = 0;
    }
    try {
        f = b.toString().split(".")[1].length;
    } catch (g) {
        f = 0;
    }
    c = Number(a.toString().replace(".", ""));
    d = Number(b.toString().replace(".", ""));
    return mul(c / d, Math.pow(10, f - e));
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏黑泽君的专栏

const类型变量的详细解读

const类型变量 -------------------------------------- int i; const int *p; ---------...

34510
来自专栏IT可乐

深入理解计算机系统(3.8)------数组分配和访问

  上一篇博客我们讲解了汇编语言中过程(函数)的调用实现。理解数据如何在调用者和被调用者之间传递,以及在被调用者当中局部变量内存的分配以及释放是最重要的。那么这...

224100
来自专栏Hongten

python开发_python中str.format()

20620
来自专栏老司机的技术博客

人人都能学会的python编程教程10:调用函数

要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。

964130
来自专栏GreenLeaves

Jquery 遍历数组之grep()方法介绍

grep()方法用于数组元素过滤筛选。 grep(array,callback,boolean);方法参数介绍。 array   ---待处理数组 callba...

20150
来自专栏C语言及其他语言

【每日一题】问题 1195: 去掉双斜杠注释

输入数据中含有一些符合C++语法的代码行(每行代码不超过200个字符)。需要说明的是,为了方便编程,规定双斜杠注释内容不含有双引号,源程序中没空行。

9420
来自专栏python3

python字符串

1.    S.find(substr,[start,[end]])    返回S中出现substr的第一个字母的标号,如果S中没有substr则返回-1,st...

10720
来自专栏章鱼的慢慢技术路

指针的使用

14530
来自专栏阮一峰的网络日志

Javascript的this用法

this是Javascript语言的一个关键字。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,   function test(){ ...

280100
来自专栏marsggbo

C++学习笔记之模板篇

一、模板 不管是函数模板还是类模板,在未初始化前都是不占用内存的。 另外一般来说模板代码不能分开编译,即不能分开写成.h文件和.c文件,需要写成一个文件。 ...

22180

扫码关注云+社区

领取腾讯云代金券