js Number越界比较.
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越界比较.的更多相关文章
- js Number string
Number string number Js只有一种数字类型(包括整型,浮点型) 极大或极小的可用科学计数法来表示.(7.7123e+1) 所有js数字均为64位 Js所有的数字都存储为浮点型 小数 ...
- 【转载】JS Number类型数字位数及IEEE754标准
JS的基础类型Number,遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit.如图 意义 1位用来表示符号位 11位用来表示指数 52位表示尾数 浮 ...
- JS Number类型数字位数及IEEE754标准
JS的基础类型Number,遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit.如图 意义 1位用来表示符号位 11位用来表示指数 52位表示尾数 浮 ...
- JS Number对象
数字属性 MAX_VALUE MIN_VALUE NEGATIVE_INFINITY POSITIVE_INFINITY NaN prototype constructor 数字方法 toExpone ...
- Javascript将字符串日期格式化为yyyy-mm-dd的方法 js number 类型 没有length 属性 string类型才有
日期格式化相信对于大家来说再熟悉不过,最近工作中自己利用Javascript就写了一个,现在将实现的代码分享给大家,希望对有需要的朋友们能有所帮助,感兴趣的朋友们下面来一起看看吧. 这篇文章主要介绍的 ...
- js Number方法总结
Number构造属性 Number.EPSILON // 两个可表示(representable)数之间的最小间隔. Number.MAX_SAFE_INTEGER // JavaScript 中最大 ...
- JS魔法堂:再识Number type
Brief 本来只打算理解JS中0.1 + 0.2 == 0.30000000000000004的原因,但发现自己对计算机的数字表示和运算十分陌生,于是只好恶补一下.以下是恶补后的成果: 基础野:细说 ...
- JS 学习(四)对象
对象 在JS中,对象是数据(变量),拥有属性和方法. JS中所有事物都是对象:字符串.数字.数组.日期等. 对象是拥有属性和方法的特殊数据类型. 属性是与对象相关的值. 方法是能够在对象上执行的动作. ...
- js和HTML结合(补充知识:如何防止文件缓存的js代码)
来自<javascript高级程序设计 第三版:作者Nicholas C. Zakas>的学习笔记(二) 使用html标签<script>可以把js嵌入到html页面中,让脚本 ...
随机推荐
- 《JavaScript Ninja》之挥舞函数
挥舞函数 匿名函数为什么如此重要 通常使用匿名函数的情况是,创建一个供以后使用的函数.例如,将匿名函数保存在一个变量里,将其作为一个对象的方法,或者是将匿名函数作为一个回调.-->在这些情况下, ...
- 在hdfs上存取xml文件的实现代码
要读取的文件为:/user/hdfs/stdin.xml <?xml version="1.0" encoding="UTF-8"?> <re ...
- 元素设置position:fixed属性后IE下宽度无法100%延伸
元素设置position:fixed属性后IE下宽度无法100%延伸 IE bug 出现条件: 1.div1设置position:fixed属性,并且想要width:100%的效果. 2.div2(下 ...
- maker 2008年发表在genome Res
http://gmod.org/wiki/MAKER_Tutorial 简单好用 identify repeats, to align ESTs and proteins to the genome, ...
- 解决"waitForCondition(LockCondition) timed out (identity=23, status=0). CPU may be pegged. trying again."问题
前几天在跑游戏引擎的时候,遇到了一个比较奇怪的问题,logcat不断地打印下面的错误: waitForCondition(LockCondition) timed out (identity=23, ...
- Harris角点(转载)
1. 不同类型的角点 在现实世界中,角点对应于物体的拐角,道路的十字路口.丁字路口等.从图像分析的角度来定义角点可以有以下两种定义: 角点可以是两个边缘的角点: 角点是邻域内具有两个主方向的特征点: ...
- cdoj 482 优先队列+bfs
Charitable Exchange Time Limit: 4000/2000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Othe ...
- poj 3320 技巧/尺取法 map标记
Description Jessica's a very lovely girl wooed by lots of boys. Recently she has a problem. The fina ...
- 什么是域名?什么网站名?什么是URL?
域名,相信大家都不默认,也使用过无数次!比如: google.com.baidu.com.163.com等. 这时候,你可能要奇怪了,为什么小编没有在前面加上www? 因为正常情况下,不应该是www. ...
- ls命令大全
ls 命令:15个Linux面试级问题--第一集 [日期:2015-03-12] 来源:Linux社区 作者:GuiltyMan [字体:大 中 小] 注释:'ls'是“list”的意思,重点在 ...