将数字转换为字符串的“最佳”方法是什么(从速度优势、清晰度优势、内存优势等方面考虑)?
一些例子:
字符串(n) n.toString() “”+n n+“”
将数字转换为字符串的“最佳”方法是什么(从速度优势、清晰度优势、内存优势等方面考虑)?
一些例子:
字符串(n) n.toString() “”+n n+“”
当前回答
你可以调用Number对象,然后调用toString()。
号码。调用(null, n) .toString ()
你可以将这个技巧用于其他javascript原生对象。
其他回答
方法toFixed()也可以解决这个问题。
var n = 8.434332;
n.toFixed(2) // 8.43
如果你好奇哪一个是性能最好的,看看我比较了所有不同的Number ->字符串转换。
看起来2+"或2+""是最快的。
https://jsperf.com/int-2-string
我们还可以使用String构造函数。根据这个基准测试,它是在Firefox 58中将数字转换为字符串的最快方法,尽管它比Firefox 58慢 + num在流行浏览器谷歌Chrome。
我使用https://jsperf.com为以下用例创建了一个测试用例:
number + ''
`${number}`
String(number)
number.toString()
https://jsperf.com/number-string-conversion-speed-comparison
截至2018年7月24日,结果显示,在Chrome中,数字+”是最快的,在Firefox中,它与模板字符串文字相关联。
String(number)和number. tostring()都比最快的选项慢95%左右。
其他答案已经涵盖了其他选项,但我更喜欢这个:
s = `${n}`
简短,简洁,已经在许多其他地方使用过(如果您使用的是现代框架/ ES版本),所以任何程序员都能理解它。
这(通常)不是很重要,但与其他方法相比,它似乎也是最快的方法之一。