Ton*_* Xu 4 javascript string types numbers parsefloat
我搜索过,发现这个与我的问题有关,但不完全相同,因为我使用的是固定而不是精度. 为什么toPrecision返回一个String?
这是我的代码
var oldv = parseFloat(document.getElementById('total').textContent).toFixed(2);
alert(typeof oldv); // returns string
var testv = parseInt(document.getElementById('total').textContent);
alert(typeof testv); // returns number
Run Code Online (Sandbox Code Playgroud)
我需要进一步的数学步骤,所以字符串类型搞砸了...为什么?怎么解决?TIA
如文档中所述,toFixed返回
使用定点表示法表示给定数字的字符串
如果您需要将返回的结果用作数字,则可以使用内置对象Number:
var oldv = parseFloat(Math.PI).toFixed(2);
console.log( oldv );
console.log( typeof oldv ); // returns string
var num = Number(oldv);
console.log( num );
console.log( typeof num ); // returns numberRun Code Online (Sandbox Code Playgroud)
小智 5
Number.prototype.toFixed() 函数应该根据此处找到的文档返回字符串类型。
如果您需要对数字执行进一步的算术,您可以在此处记录的变量名称 (+) 之前使用一元加运算符将其强制返回数字形式,如下所示:
var oldv = parseFloat(document.getElementById('total').textContent).toFixed(2);
alert(typeof oldv); // Returns string
alert(typeof +oldv); // Returns number
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2609 次 |
| 最近记录: |