[js]取整,四舍五入,数字字符串转换

取整:

向下取整Math.floor(),向上取整Math.ceil(),四舍五入Math.round()),保留有效数位n.toFixed(),产生大于等于0小于1的随机数Math.random()

 功能函数示例
整型向下取整Math.floor()Math.floor(1.1)==>1
向上取整Math.ceil()Math.ceil(1.1) ==>2
四舍五入Math.round() Math.round(1.1)==>1
 Math.round(1.6)==>2
浮点型保留有效数位  n.toFixed() 1.442.toFixed(2)==>1.44
 1.446.toFixed(2)==>1.45
随机数Math.random() Math.random()==>0.38078270980122775

 

 

 

 

 

 

 

 

字符串转换成数字:

将字符串转换成数字,用parseInt()函数和parseFloat()函数,isNaN()函数来检测 转换后的类型

var i = parseInt('abc');
if (isNaN(i))
{
    alert('NaN value');
}

注意:

  • 只有字符串中的第一个数字会被返回。
  • 开头和结尾的空格是允许的。
  • 如果字符串的第一个字符不能被转换为数字,那么 parseInt() 和 parseFloat() 都会返回 NaN。
  • 在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。

 ParseInt:结果返回一个整数

 如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数

如果解析不到数字,则将返回一个NaN的值,可以用isNaN()函数来检测;

1

2

3

4

5

6

parseInt("10");                 //返回 10

parseInt("19",10);              //返回 19 (10+9)

parseInt("11",2);               //返回 3 (2+1)

parseInt("17",8);               //返回 15 (8+7)

parseInt("1f",16);              //返回 31 (16+15)

parseInt("010");                //未定:返回 10 或 8(在谷歌,火狐,360极速浏览器上测试的结果均为10)

parseFloat:结果返回一个浮点数

如果在解析过程中遇到了正负号(+ 或 -)、数字 (0-9)、小数点,或者科学记数法中的指数(e 或 E)以外的字符,则它会忽略该字符以及之后的所有字符,返回当前已经解析到的浮点数。同时参数字符串首位的空白符会被忽略。  

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

console.log(parseFloat("10"))             //10

console.log(parseFloat("10.00"))          //10

console.log(parseFloat("10.33"))          //10.33

console.log(parseFloat("34 45 66"))       //34

console.log(parseFloat(" 60 "))           //60

console.log(parseFloat("40 years"))       //40

console.log(parseFloat("He was 40"))      //NaN

console.log(parseFloat("3.14"))           //3.14

console.log(parseFloat("314e-2"))         //3.14

console.log(parseFloat("0.0314E+2"))      //3.14

console.log(parseFloat("3.14more n"))     //3.14

console.log(parseFloat("-3.14"))          //-3.14

console.log(parseFloat("=3.14"))          //NaN

console.log(parseFloat("314e-2"))         //NaN

console.log(parseFloat("e3.14"))          //NaN

js数字转换成字符串 

将字符串转换成数字,得用到String类的toString方法

1

2

3

var i = 10;

var s = i.toString();

alert(typeof s);                         //将输出 string----typeof i number

js数字与字符串的区别

js的数字的加法与字符串的连接都是 + 符号, 所以究竟是加还是字符串的连接就取决与变量的类型。

1

2

3

4

5

6

7

8

9

var a = 'abc' 'def';                   //abcdef,字符串与字符串是连接

var a = 10 + 5;                          //15,数字是加

var a = 'abc' + 23;                      //abc23,字符串与数字,自动将10转换成字符串了

var a = 'abc' + 10 + 20 + 'cd';          //abc1020cd

var a = 10 + 20 + 'abc' 'cd';          //30abccd,可以数字加的先数字加,然后再连接

var a = 10 + '20';                       //1020 string

var a = 10 - '20';                       //-10 number

var a = '20' + 10;                       //20100 string

ar a = '20' - 10;                        //10 number

如果从html页面元素得到的值,想按数字加,就需要先转换为数字,因为从页面得到的值默认是字符串

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值