数字到字符串和字符串到数字(已完结)

数字到字符串和字符串到数字

在计算机程序中数字的解析和格式化是非常普遍的工作,JS中提供了专门的函数和方法,用来做更加精确的数字到字符串和字符串到数字的转换

下面是一些方法/函数:

Number——请参看‘包装类、包装类对象、包装类的类型转换功能

toString(radix)

除undefined与null外,其他类型都存在toString方法。这儿讲的是Number类中定义的toString方法,勿与其他类型的toString方法混淆

  • 不指定radix参数时(默认模式),toString会将数据转换为十进制数

  • 指定radix时(基模式),toString将数据转换为radix进制的数。如:

    var n = 17;
    binary_string = n.toString(2);//转换为2进制的10001
    octal_string = '0' + n.toString(8);//转换为8进制的021
    hex_string = '0x' + n.toString(16);//转换为16进制的0x11

toFixed(…)

该方法用于处理小数

作用是:保留参数指定的小数位数(会四舍五入,位数不足时补0),并以字符串形式返回处理结果。如:

    var n = 123456.789;
    n.toFixed(0);//'123457'
    n.toFixed(2);//'123456.79'
    n.toFixed(5);//'123456.78900'

parseInt(…, radix)

其是全局函数,不从属于任何包装类

第二个参数是基,指定第二个参数后,该方法会将第一个参数视为radix进制,最终转换为十进制输出;不设置radix时,直接将第一个参数以十进制输出

转换时注意以下几点:

  • 会忽略若干前缀或后缀空格,因此字符串中的前缀或后缀空格不会对结果产生影响

  • 如果字符串前缀是‘0x’或‘0X’,parseInt会将其视为16进制数

  • parseInt在进行处理时,会逐个查看字符串中的字符,直到遇见第一个非数字字符时为止,然后将第一个非数字字符前面的数字字符以number形式返回

    var iNum1 = parseInt("12345red");    //返回 12345
    var iNum1 = parseInt("0xA");    //返回 10
    /*虽然没有指定基数,但是由形式知,会自动将其按16进制转换*/
    var iNum1 = parseInt("56.9");    //返回 56
    var iNum1 = parseInt("red");    //返回 NaN
    var iNum1 = parseInt('qwe123');//返回NaN

    var iNum1 = parseInt("AF", 16);/*返回 175,将第一个参数视为16进制数,然后转换为10进制*/
    var iNum1 = parseInt("10", 2);    //返回 2
    var iNum2 = parseInt("10", 8);    //返回 8
    var iNum3 = parseInt("10", 10);    //返回 10

parseFloat(…)

第一个出现的小数点是有效字符。如果有两个小数点,第二个小数点将被看作无效的。parseFloat() 会把这个小数点之前的字符转换成数字。这意味着字符串”11.22.33” 将被解析成 11.22

字符串必须以十进制形式表示浮点数,而不是用八进制或十六进制。该方法会忽略前导 0,所以八进制数 0102 将被解析为102。对于十六进制数 0xA,该方法将返回 NaN,因为在浮点数中,x 不是有效字符

  • 该方法同样忽略前缀与后缀空格
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值