2016-09-14 93 views
0

我不知道什么是给予同样的结果(变量).toFixed(2)和+(变量).toFixed(2)之间的区别是什么?

(2.3444).toFixed(2) ==> 2.34 

而且

+(2.3444).toFixed(2) ==> 2.34 

他们两人之间的主要区别。任何人都可以解释何时需要使用该+号?

+1

'他们都给予同样的results.'他们?如果你运行它们,第一个返回'“2.34”'第二个返回'2.34',这两个值都不是相同的值,也不是你在问题中显示的值。 – vlaz

回答

1

第一个给你一个字符串,第二个给你一个(现在截短)的数字。

var x = 2.344; 
 
var a = x.toFixed(2); 
 
var b = +x.toFixed(2); 
 
console.log(a, typeof a); 
 
console.log(b, typeof b);

一元加将尝试convert it's operand to a number

这个问题的原因是因为如果你为它添加一个数字,第一个会导致字符串连接。

var x = 2.344; 
 
var strNumber = x.toFixed(2); 
 
console.log(strNumber); 
 
console.log(strNumber + 5); // Expected: 7.34, actual: 2.345

相关问题