js替换特殊字符及取小数点处理

本文介绍了一种用于URL编码的方法,通过该方法可以将特定字符转换为对应的百分号编码形式。此外,还提供了一个关于小数点处理的实用工具类Digit,包括四舍五入、向下取整和向上取整三种方式来格式化数字。
1  function Check(s) {
2                 var str = s.replace(/%/g, "%25 ").replace(/\+/g, "%2B ").replace(/\s/g, "+ ");   //   %   +   \s 
3                 str = str.replace(/-/g, "%2D ").replace(/\*/g, "%2A ").replace(/\//g, "%2F ");   //   -   *   / 
4                 str = str.replace(/\&/g, "%26 ").replace(/!/g, "%21 ").replace(/\=/g, "%3D ");   //   &   !   = 
5                 str = str.replace(/\?/g, "%3F ").replace(/:/g, "%3A ").replace(/\|/g, "%7C ");   //   ?   :   | 
6                 str = str.replace(/\,/g, "%2C ").replace(/\./g, "%2E ").replace(/#/g, "%23 ");   //   ,   .   # 
7                 return str;
8             } 


小数点特殊处理

 1 var Digit = {};
 2 /**
 3  * 四舍五入法截取一个小数
 4  * @param float digit 要格式化的数字
 5  * @param integer length 要保留的小数位数
 6  * @return float
 7  */<br />
 8 Digit.round = function(digit, length) {
 9     length = length ? parseInt(length) : 0;
10     if (length <= 0) return Math.round(digit);
11     digit = Math.round(digit * Math.pow(10, length)) / Math.pow(10, length);
12     return digit;
13 };
14 /**
15  * 舍去法截取一个小数
16  * @param float digit 要格式化的数字
17  * @param integer length 要保留的小数位数
18  * @return float
19  */
20 Digit.floor = function(digit, length) {
21     length = length ? parseInt(length) : 0;
22     if (length <= 0) return Math.floor(digit);
23     digit = Math.floor(digit * Math.pow(10, length)) / Math.pow(10, length);
24     return digit;
25 };
26 /**
27  * 进一法截取一个小数
28  * @param float digit 要格式化的数字
29  * @param integer length 要保留的小数位数
30  * @return float
31  */
32 Digit.ceil = function(digit, length) {
33     length = length ? parseInt(length) : 0;
34     if (length <= 0) return Math.ceil(digit);
35     digit = Math.ceil(digit * Math.pow(10, length)) / Math.pow(10, length);
36     return digit;
37 };
38  
39 // 使用方法
40 var num = 1.2345;
41 document.write("数字:" + num + "<br />");
42 document.write("四色五入法:<br />");
43 document.write(num + " 保留3位小数:" + Digit.round(num, 3) + "<br />");
44 document.write(num + " 保留2位小数:" + Digit.round(num, 2) + "<br />");
45 document.write("舍去法:<br />");
46 document.write(num + " 保留3位小数:" + Digit.floor(num, 3) + "<br />");
47 document.write(num + " 保留2位小数:" + Digit.floor(num, 2) + "<br />");
48 document.write("进一法:<br />");
49 document.write(num + " 保留3位小数:" + Digit.ceil(num, 3) + "<br />");
50 document.write(num + " 保留2位小数:" + Digit.ceil(num, 2) + "<br />")

 

转载于:https://www.cnblogs.com/qintianqi/archive/2012/08/04/2622976.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值