php string转number,javascript如何实现Number与String的相互转换

本篇文章给大家分享的内容是javascript如何实现Number与String的相互转换,有着一定的参考价值,有需要的朋友可以参考一下

Number和String之间的互相转换

//将Number数字转换成String字符串

//第一种方法是使用String()函数,该方法有局限性,即无法将某个数值转换成不同进制的,也无法选取有效数字等等

var num = 123456.7897;

var str = String(num);

console.log("String(" + num + ") = " + str);

//第二种方法是使用Number对象的toString()方法,toFixed()方法,toExponential()方法,toPrecision()方法

//toString()方法默认将Number转换成十进制数

str = num.toString();

console.log(num + ".toString() = " + str);

//toString(radix)方法可以带一个参数radix,表示将Number按照提供的进制转换,进制范围2-36,如果超出这个范围将报错。

str = num.toString(2);

console.log(num + ".toString(2) = " + str);

//toFixed()方法,如果不提供参数的话默认是精确到个位,四舍五入法,不使用指数计数法

str = num.toFixed();

console.log(num + ".toFixed() = " + str);

//toFixed(float)方法可以带一个参数,表示精确到小数点后面第几位,如果参数为0,和不提供参数功能相同

str = num.toFixed(1);

console.log(num + ".toFixed(1) = " + str);

//toExponential方法,该方法使用指数计数法转换数值,小数点前只有一位,小数点后面的位数由参数指定,默认情况下不会截取位数

str = num.toExponential();

console.log(num + ".toExponential() = " + str);

//toExponential方法带参数代表小数点后保留的位数

str = num.toExponential(1);

console.log(num + ".toExponential(1) = " + str);

//toPrecision()方法按照参数指定的有效数字个数转换数值,默认不给参数的情况下保留所有有效数字位

str = num.toPrecision();

console.log(num + ".toPrecision() = " + str);

//toPrecision()可以带一个参数,代表有效数字位数,如果该位数小于原数的整数部分位数,则用指数形式表示,否则用非指数形式。

str = num.toPrecision(6);

console.log(num + ".toPrecision(6) = " + str);

//将String字符串转换成Number也有两种方式

//第一种方式仍然使用显示转换函数Number,可以转换整数和浮点数,但是这种方法不允许待转换的字符串中出现任何非法字符,包括空格,如果存在非法字符,将得到结果NaN。

str = "12 3";

num = Number(str);

console.log("Number(" + str + ") = " + num);

//第二中方式是使用全局函数parseInt()和parseFloat()

//parseInt()方法只能解析整数,会忽略所有的前导空白字符,直到解析到某个非法非空白字符为止,小数点在parseInt()被认为是非法字符,如果中间出现空格,也会被认为是非法字符。

str = "a .1 1.8";

num = parseInt(str);

console.log("parseInt(" + str + ") = " + num);

//parseInt()方法的第二个参数是进制,默认情况下回以十进制去解析。

str = "0xff";

num = parseInt(str, 16);

console.log("parseInt(" + str + ",16" + ") = " + num);

//parseFloat()方法可以解析整数和浮点数,它会将小数点解析成合法字符,如果第一个字符就是小数点,则会被解析成0.xxx,但是parseFloat()方法不能更换进制 ,得明确告诉它是多少进制,比如十六进制加0x,实践证明,明确告诉也没用

//0xff会被解析成0...,parseInt()方法带不带第二个参数都能解析成255

str = "0xff";

num = parseFloat(str);

console.log("parseFloat(" + str + ") = " + num);

相关推荐:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值