JavaScript--05 字符串和数值的操作方法(Number、Math、String)

本文详细介绍了JavaScript中Number类型的方法,包括toString(), toFixed(), toExponential(), toPrecision(),并探讨了Math对象的属性和方法,如min(), max(), ceil(), floor(), round(), random()等。同时,讲解了String类型的基本操作,如charAt(), charCodeAt(), 字符串拼接,以及toLowerCase(), toUpperCase(), indexOf(), lastIndexOf(), trim(),还有match(), search(), replace(), split()等字符串方法的用法。" 62229910,5796834,OkHttp3详解:网络请求与文件下载,"['Android开发', '网络请求', 'OkHttp', '文件操作']
摘要由CSDN通过智能技术生成

一、Number类型

1.1 toString() 方法 ---- 设置进制

var num = 10; 
alert(num.toString()); //"10" 
alert(num.toString(2)); //"1010" 
alert(num.toString(8)); //"12" 
alert(num.toString(10)); //"10" 
alert(num.toString(16)); //"a" 

1.2 toFixed() 方法 ---- 小数点后位数

  toFixed()方法会按照指定的小数位返回数值的字符串表示:

var num = 10; 
alert(num.toFixed(2)); //"10.00"

  如果数值本身包含的小数位比指定的还多,那么接近指定的最大小数位的值就会舍入,如下面的例子所示:

var num = 10.005; 
alert(num.toFixed(2)); //"10.01" 

  能够自动舍入的特性,使得 toFixed()方法很适合处理货币值。

1.3 toExponential() 方法 ---- 指数表示

  该方法返回以指数表示法(也称 e 表示法)表示的数值的字符串形式。与 toFixed()一样,toExponential()也接收一个参数,而且该参数同样也是指定输出结果中的小数位数。看下面的例子:

var num = 10; 
alert(num.toExponential(1)); //"1.0e+1"

1.4 toPrecision() 方法 ---- 自动匹配是否用指数

var num = 99; 
alert(num.toPrecision(1)); //"1e+2" 
alert(num.toPrecision(2)); //"99" 
alert(num.toPrecision(3)); //"99.0" 

  以上代码首先完成的任务是以一位数来表示 99,结果是 “1e+2”,即 100。因为一位数无法准确地表示 99,因此 toPrecision()就将它向上舍入为 100,这样就可以使用一位数来表示它了。
  而接下来的用两位数表示 99,当然还是"99"。
  最后,在想以三位数表示 99 时,toPrecision()方法返了"99.0"。
  实际上,toPrecision()会根据要处理的数值决定到底是调用 toFixed()还是调用 toExponential()。
  而这三个方法都可以通过向上或向下舍入,做到以最准确的形式来表示带有正确小数位的值。

二、Math 对象

2.1 Math 对象的属性

  这些属性都是一些特殊值:

2.2 min() 和 max() 方法

  min()和 max()方法用于确定一组数值中的最小值和最大值。这两个方法都可以接收任意多个数值参数,如下面的例子所示:

var max = Math.max(3, 54, 32, 16); 
alert(max); //54 
var min = Math.min(3, 54, 32, 16); 
alert(min); //3 

  配合 apply() 方法 比较数组数值:

var values = [1, 2, 3, 4, 5, 6, 7, 8]; 
var max = Math.max.apply(Math, values); 

  这个技巧的关键是把 Math 对象作为 apply()的第一个参数,从而正确地设置 this 值。然后,可以将任何数组作为第二个参数。

2.3 Math.ceil() ---- 向上舍入

alert(Math.ceil(25.9)); //26 
alert(Math.ceil(25.5)); //26 
alert(Math.ceil(25.1)); //26 

2.4 Math.floor() ---- 向下舍入

alert(Math.floor(25.9)); //25 
alert(Math.floor(25.5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值