function sub(num1, num2) {
if(num1 === num2) return '0'
function lt(num1, num2) {
if (num1.length < num2.length) {
return true
} else if (num1.length === num2.length) {
return num1 < num2
} else {
return false
}
}
let isMinus = false
if (lt(num1, num2)) {
[num1, num2] = [num2, num1]
isMinus = true
} let len = Math.max(num1.length, num2.length)
num1 = num1.padStart(len, 0)
num2 = num2.padStart(len, 0) let flag = 0,
result = '',
temp
for (let i = len - 1; i >= 0; i--) {
temp = parseInt(num1[i]) - flag - parseInt(num2[i])
if (temp < 0) {
result = (10 + temp) + result
flag = 1
} else {
result = temp + result
flag = 0
}
}
result = (isMinus ? '-' : '') + result.replace(/^0+/, '')
return result
}
// 传入字符串格式
console.log(sub('9999999999011112','9999999999011111'
)) // 1
console.log(sub('9999999999011112','9999999999011113'
)) // -1

js 处理大数相减的更多相关文章

  1. JS两日期相减

    JS两日期相减,主要用到下面两个方法 dateObject.setFullYear(year,month,day) 方法 stringObject.split(separator) 方法 functi ...

  2. Java 大数相乘、大数相加、大数相减

    思路来源:: https://blog.csdn.net/lichong_87/article/details/6860329 /** * @date 2018/6/22 * @description ...

  3. [小米OJ] 3. 大数相减

    题目链接 思路: 利用两个string保存相减的数,其他模拟即可. 参考了别人的一个处理减的步骤,很简洁好看. string substract(string str1, string str2) { ...

  4. JS当前日期相加相减

    function DateAddORSub(interval,type,number) { /* * 功能:实现Script的Date加减功能. * 参数:interval,字符串表达式,表示要添加的 ...

  5. Jquery datepicker 时间插件使用 js 时间相加,相减

    $(document).ready(function(){ //输入框事件 $('#probation').bind('input propertychange', function() { var ...

  6. js 两数相减

    var SecondPrice = document.getElementById("txtSecondPrice");  //秒杀价            var MarketP ...

  7. HDU 3925 Substring 【大数相减】

    题目意思是,给你提供两个数字 a 和 b a 可以不断的往上加, 直到b 为其子串 问的是 a 最小加几? 显而易见,a  的数据范围给了10 ^100非常大,直接模拟肯定不行 那么就用 b 减去 a ...

  8. js计算日期相减天数

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head ...

  9. 大数相减 C语言

    #include <stdio.h> #include <string.h> using namespace std; ],b[]; void Sub() { ; if(a = ...

  10. JS 计算日期相减得天数

    言简意赅不呼哨直接懂,可以封装的可以根据自己的需求封装一下 var date1="2020-10-23";var date2="2020-10-26";var ...

随机推荐

  1. Vue3+TypeScript 项目中,配置 ESLint 和 Prettier

    接上篇:从0搭建vite-vue3-ts项目框架:配置less+svg+pinia+vant+axios 文档同步项目gitee:https://gitee.com/lixin_ajax/vue3-v ...

  2. 动态代理-cglib分析

    生成代理类文件的方式 jvm添加此启动参数,后面就是代理类class生成的地址 -Dcglib.debugLocation=~/baldhead/java/dynamic-proxy-cglib/sr ...

  3. Kubernetes(k8s)控制器(三):ReplicationController

    目录 一.系统环境 二.前言 三.ReplicationController概览 四.ReplicationController工作机制 五.创建ReplicationController 六.扩展r ...

  4. Vue 01 简介

    1 官网    1)英文官网: https://vuejs.org/ 2)中文官网: https://cn.vuejs.org/ 2 介绍与描述 1) 动态构建用户界面的渐进式 JavaScript ...

  5. Springboot返回数据给前端-参数为null处理

    转:https://www.pianshen.com/article/950119559/ 1.返回对象参数为null时,该参数选择显示或者不显示 在返回参数给前端的时候,有些参数的值为null的时候 ...

  6. mysql-01数据库基本简介

    1.数据库的概念 DB:数据库(database):存储数据的"仓库".它保存了一系列有组织的数据. DBMS:数据库管理系统(Database Management System ...

  7. C++_bind用法

    1.bind函数 网络编程中, 经常要使用到回调函数. 当底层的网络框架有数据过来时,往往通过回调函数来通知业务层. 这样可以使网络层只专注于 数据的收发, 而不必关心业务 在c语言中, 回调函数的实 ...

  8. Ubuntu18.04编译ZLMediakit支持webrtc

    背景 最近在做流媒体相关的一些东西, 比较了一些开源的流媒体服务, 目前 srs 和 ZlmediaKit 项目是评价比较高的, 今天主要在 Ubuntu18.04 上编译 ZlmediaKit, 并 ...

  9. 郁金香 中级班 2.c++的基类和派生类

    生物是基类 老虎是派生类 派生类继承了基类的成员和成员函数 同时this指针 指向的是这个对象所开辟的那个地址

  10. Windows家庭版安装本地组策略编辑器【gpedit.msc】

    由于我们买的电脑一般默认安装的Windows家庭版本 家庭版本默认不带有本地组策略编辑器 当我们运行gpedit.msc的时候会提示 Winodws找不到文件'gpedit.msc'.请确定文件名是否 ...