2016-09-14 2 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

Смежные вопросы