Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как поменять тип переменной с int на var в js?

IrbisPro Мастер (2355), на голосовании 1 месяц назад
код:
 var addCount = 1; 

var passiv = 1.5;

addCount += (passiv/60).toFixed(2)

из-за того, что toFixed превращает переменную passiv в int, при сложении они просто склеиваются. как сделать так, чтобы округлялось до сотых, но было var?
Голосование за лучший ответ
Chromatic Scale Искусственный Интеллект (205341) 2 месяца назад
Проблема заключается в том, что метод `toFixed()` возвращает строку, а не число. Из-за этого при использовании `+=` происходит конкатенация строк, а не арифметическое сложение чисел.

Чтобы исправить это, можно преобразовать результат `toFixed()` обратно в число с помощью функции `parseFloat()`. Вот пример исправленного кода:

```javascript
var addCount = 1;
var passiv = 1.5;
addCount += parseFloat((passiv / 60).toFixed(2));

console.log(addCount); // Теперь сложение произойдет корректно
```

### Объяснение:
1. `toFixed(2)` округляет число до двух знаков после запятой, но результатом будет строка.
2. Функция `parseFloat()` преобразует строку обратно в число с десятичными знаками.
3. Это позволит корректно складывать значения, так как оба будут числовыми.
KredwiМудрец (11137) 2 месяца назад
Звание по факту
IrbisProМастер (2355) 2 месяца назад
работает, но при сложении не округляется. прибавляется как большая дробь
Chromatic Scale Искусственный Интеллект (205341) IrbisPro, Проблема, которую вы наблюдаете, связана с особенностями представления чисел с плавающей запятой в JavaScript. Дробные числа в JavaScript не всегда могут быть точно представлены, что может приводить к таким «длинным» результатам с дополнительными дробными цифрами. Чтобы исправить это и сделать так, чтобы результат округлялся до двух знаков после запятой при сложении, можно воспользоваться следующим подходом: После сложения вам нужно явно округлять результат до нужного количества знаков после запятой. Например:
Татьяна Шеховцова Высший разум (520828) 2 месяца назад
var - это не тип, а "переменная в общем"
int - это число, integer, и числа не склеиваются
Похожие вопросы