Javascript number超过16位就无法比较了,所以自己写了一个。

 用到的数组函数
1、Array.reverse() 方法将一个 Array 对象中的元素位置进行反转。在执行过程中,这个方法并不会创建一个新的 Array 对象
2、Array.concat concat 方法返回一个 Array 对象,其中包含了 array1 和提供的任意其他项目的连接。
3、Array.join join 返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分隔开来。





 <script type="text/javascript">
//begin > end 返回true
//begin <= end 返回false
function Compare(begin, end) { if (begin == end) {
return false;
} var beginArr = new Array();
var endArr = new Array(); var len = (begin.length > end.length) ? begin.length : end.length;
beginArr = begin.paddLeftA(len, '-1');
endArr = end.paddLeftA(len, '-1'); var result = false;
//debugger;
for (var i = 0; i < len; i++) {
if (parseFloat(beginArr[i]) == parseFloat(endArr[i])) {
continue;
} else {
result = parseFloat(beginArr[i]) > parseFloat(endArr[i]);
break;
}
} return result;
} String.prototype.paddLeft = function(myLength, paddStr) {
var stringLength = this.length; //输入字符串长度
var paddLength = myLength - stringLength; //0字符串长度
var result = ''; //补0后返回的字符串 //生成0字符串
for (var i = 0; i < paddLength; i++) {
result += paddStr || '0';
}
//拼接 result += this;
return result;
} //返回数组
String.prototype.paddLeftA = function(myLength, paddStr) {
var stringLength = this.length; //输入字符串长度
var paddLength = myLength - stringLength; //0字符串长度
var result = ''; //补0后返回的字符串
var resultArr = new Array(); //生成0字符串
for (var i = 0; i < paddLength; i++) {
resultArr.push(paddStr)
}
//拼接 result += this;
return resultArr.concat(this.split(''));
} function add(begin, end) { var result = new Array();
//左补零
var len = (begin.length > end.length) ? begin.length : end.length;
var beginArr = begin.paddLeft(len, '0').split('');
var endArr = end.paddLeft(len, '0').split(''); //从个位开始计算
for (var i = len - 1; i > -1; i--) {
var temp1 = parseInt(beginArr[i]);
var temp2 = parseInt(endArr[i]); var sum = temp1 + temp2;
result.push(sum);
} for (var i = 0; i < result.length; i++) {
var temp = parseInt(result[i]);
if (temp >= 10) {
result[i] = (temp - 10);
if (i == result.length - 1) {
result.push(1);
} else {
result[i + 1] = parseInt(result[i + 1]) + 1;
}
}
}
return result.reverse().join('');
}
</script>

js Number越界比较.的更多相关文章

  1. js Number string

    Number string number Js只有一种数字类型(包括整型,浮点型) 极大或极小的可用科学计数法来表示.(7.7123e+1) 所有js数字均为64位 Js所有的数字都存储为浮点型 小数 ...

  2. 【转载】JS Number类型数字位数及IEEE754标准

    JS的基础类型Number,遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit.如图 意义 1位用来表示符号位 11位用来表示指数 52位表示尾数 浮 ...

  3. JS Number类型数字位数及IEEE754标准

    JS的基础类型Number,遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit.如图 意义 1位用来表示符号位 11位用来表示指数 52位表示尾数 浮 ...

  4. JS Number对象

    数字属性 MAX_VALUE MIN_VALUE NEGATIVE_INFINITY POSITIVE_INFINITY NaN prototype constructor 数字方法 toExpone ...

  5. Javascript将字符串日期格式化为yyyy-mm-dd的方法 js number 类型 没有length 属性 string类型才有

    日期格式化相信对于大家来说再熟悉不过,最近工作中自己利用Javascript就写了一个,现在将实现的代码分享给大家,希望对有需要的朋友们能有所帮助,感兴趣的朋友们下面来一起看看吧. 这篇文章主要介绍的 ...

  6. js Number方法总结

    Number构造属性 Number.EPSILON // 两个可表示(representable)数之间的最小间隔. Number.MAX_SAFE_INTEGER // JavaScript 中最大 ...

  7. JS魔法堂:再识Number type

    Brief 本来只打算理解JS中0.1 + 0.2 == 0.30000000000000004的原因,但发现自己对计算机的数字表示和运算十分陌生,于是只好恶补一下.以下是恶补后的成果: 基础野:细说 ...

  8. JS 学习(四)对象

    对象 在JS中,对象是数据(变量),拥有属性和方法. JS中所有事物都是对象:字符串.数字.数组.日期等. 对象是拥有属性和方法的特殊数据类型. 属性是与对象相关的值. 方法是能够在对象上执行的动作. ...

  9. js和HTML结合(补充知识:如何防止文件缓存的js代码)

    来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(二) 使用html标签<script>可以把js嵌入到html页面中,让脚本 ...

随机推荐

  1. 【ES5】hideProperty

    function hideProperty(host, name, value) { Object.defineProperty(host, name, { value: value, writabl ...

  2. js实现元素添加样式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. iOS学习笔记---oc语言第七天

    类的扩展 NSDate是Cocoa中用于处理日期和时间的基础类,封装了某一给定的时刻,具体的日期 时间和时区 使用+date方法获取当前日期和时间 NSDate *date = [NSDate dat ...

  4. 灰度图像的自动阈值分割(Otsu 法)(转载)

    灰度图像的自动阈值分割(Otsu 法) 机器视觉领域许多算法都要求先对图像进行二值化.这种二值化操作阈值的选取非常重要.阈值选取的不合适,可能得到的结果就毫无用处.今天就来讲讲一种自动计算阈值的方法. ...

  5. raido 赋值第一次成功,然后就赋值不显示

    $("#id").attr("checked",true); //显示出现问题,第一次成功 $("#id").prop("chec ...

  6. Mysql 下 Insert、Update、Delete、Order By、Group By注入

    Insert: 语法:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) 报错注入: insert into test(id,name,p ...

  7. uva624 CD   01背包+输出最优解

    link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. 查看PHP的配置信息

    查看PHP的配置信息其实一个函数就搞定了. 首先在服务器的根目录建立phpinfo.php文件. 然后打开此文件输入以下内容 <?php phpinfo(); ?> 保存此文件之后在浏览器 ...

  9. 【NOIP2008】双栈排序

    感觉看了题解还是挺简单的,不知道当年chty同学为什么被卡了呢么久--所以说我还是看题解了 原题: Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将 ...

  10. Linux驱动设计—— 中断与时钟

    中断和时钟技术可以提升驱动程序的效率 中断 中断在Linux中的实现 通常情况下,一个驱动程序只需要申请中断,并添加中断处理函数就可以了,中断的到达和中断函数的调用都是内核实现框架完成的.所以程序员只 ...