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页面中,让脚本 ...
随机推荐
- 初识mySQL(关系型数据库)
一.数据库修改密码 ①先执行use mysql; ②再执行update mysql.user set password=PASSWORD(要修改的密码) where user='root' ; ...
- VS2012 编译 Assimp
VS2012 编译 Assimp 环境: assimp-3.1.1Windows 7 64BitVisual Studio 2012CMake 2.8.12.1 注意: 在Windows中编译assi ...
- C# 网络通信基础 总结
1.WebClient类 如果只是想从特定的URI(统一资源标识符)请求文件,则可以使用最简单的.NET类,System.Net.WebClient.支持http:.https:和file:标识符开头 ...
- 【转】apache与tomcat的区别
Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. Apache是web服 ...
- [转载] TCP与UDP对比
TCP和UDP区别 TCP UDP 是否连接 面向连接 面向非连接 传输可靠性 可靠的 不可靠的 应用场合 传输大量的数据 少量数据 速度 慢 快 OSI 和 TCP/IP 模型在传输 ...
- Java基础类型与其二进制表示
Java中的基础类型有:byte.short.int.long.float.double.char和boolean. 它们可被分为四种类型,整型.浮点型.char型和boolean型. 整型:byte ...
- Linux文件系统目录标准
FHS(Filesystem Hierarchy Standard):文件层次标准 操作系统自身运行使用的 /bin: 存放可执行的二进制程序,管理员和普通用户都可以使用 /sbin:管理员才能执行的 ...
- 黑马程序员——JAVA基础之final this.和super.的区别
------- android培训.java培训.期待与您交流! ---------- final关键字: final可以修饰类,方法,变量. final修饰的类不可以被继承. final修饰的方法 ...
- 在线音乐API的研究 (Part 2.1)
本文转载于:http://www.cnblogs.com/osmondy/p/LyricApi.html 最近,在优化一个自己写的音乐播放器.主要目的是回顾.归纳,并希望能够写出一个属于自己的comm ...
- VC调用系统的调色板
调用系统的调色板可以用到ChooseColor这个函数,这个函数传入一个参数为CHOOSECOLOR结构体的指针,其函数原型为 BOOL ChooseColor(LPCHOOSECOLOR lpCC) ...