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页面中,让脚本 ...
随机推荐
- 重定位shell
http://www.tldp.org/LDP/abs/html/io-redirection.html http://unix.stackexchange.com/questions/20469/d ...
- Openstack学习历程_1_视频
学习视频:讲解Openstack每个模块对应的作用
- js中获取样式的俩种方法 style.color和style['color'] 区别
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 三 GPU 并行编程的运算架构
前言 GPU 是如何实现并行的?它实现的方式较之 CPU 的多线程又有什么分别?本文将做一个较为细致的分析. GPU 并行计算架构 GPU 并行编程的核心在于线程,一个线程就是程序中的一个单一指令流, ...
- C++ 中的C_str()函数用法
语法: const char *c_str(); c_str()函数返回一个指向正规C字符串的指针常量, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过 ...
- poj 1475 uva 589 - Pushing Boxes
题目大意 人推箱子从起点到终点,要求推箱子的次数最少,并打印出来人移动的路径. 题目分析 对于箱子进行宽搜的同时,要兼顾人是否能够把箱子推到相应的位置 每一次对箱子bfs 然后对人再bfs #incl ...
- JavaScript 编写多线程代码引用Concurrent.Thread.js(转)
这是一个很简单的功能实现: <script type="text/javascript" src="Concurrent.Thread.js">&l ...
- 图像处理之face morphing
以前在论坛.微博经常看到一张脸,五官长得像A,脸型似乎又是B,觉得很有意思. 比如像这张图片.这张图片应该是网友用Photoshop完成的,他们取了郭大爷的五官,放在金元帅的脸上,在把边缘处理平滑. ...
- ZOJ 1074 To the Max
原题链接 题目大意:这是一道好题.在<算法导论>这本书里面,有一节是介绍如何求最大子序列的.这道题有点类似,区别是从数组变成了矩阵,求最大子矩阵. 解法:完全没有算法功底的人当然不知道最大 ...
- 第一篇TC界面设计
TC界面设计方法 第一:确定自己最终界面的大小. 第二:根据功能需要,选择相应的控价. 第三:美化界面,对界面的控件调整布局位置,设置字体颜色设置背景图片等等 脚本代码: function 按钮1_点 ...