Michaly4
@Michaly4
Учусь всю жизнь учусь)

Написать функцию которая будет доставать именно дробную часть?

Приветствую ребята!
Пример:
console.log(0.2 + 0.1);
Здесь на выходе 0.30000000000000004
console.log (0.21 + 0.14);
Здесь 0.35
Как бы нужно, чтобы функция при вводе любого числа автоматом округляла,в первом вывела 0.3 а во втором именно 0.35!!Ну поставлю я .toFixed (1) уже не подойдёт до второго случая,где нужно чтобы именно 0.35 вывело!!
Я незнаю как это сделать ((поможете?
  • Вопрос задан
  • 89 просмотров
Решения вопроса 3
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Определитесь, сколько значащих разрядов должно быть у дробной части.
Округлите до этого значения
Отбросьте незначащие нули.

Например так:

console.log(parseFloat((0.2 + 0.1).toFixed(3)));      // 0.3
console.log(parseFloat((0.21 + 0.14).toFixed(3)));   // 0.35


или так

console.log(Number(Math.round((0.2 + 0.1)+'e'+3)+'e-'+3));      
console.log(Number(Math.round((0.21 + 0.14)+'e'+3)+'e-'+3));


или так, без использования строк

console.log(Math.round((0.2 + 0.1) * 100) / 100); 
console.log(Math.round((0.21 + 0.14) * 100) / 100);
Ответ написан
Tim-A-2020
@Tim-A-2020
// "0.3"
new Intl.NumberFormat('en', { maximumSignificantDigits: 2 }).format( 0.30000000000000004); 
// "0.35"
new Intl.NumberFormat('en', { maximumSignificantDigits: 2 }).format( 0.35)
Ответ написан
Комментировать
DanArst
@DanArst Куратор тега JavaScript
Гриффиндор в моде при любой погоде!
Смотря сколько цифр после запятой хотите оставить. Например если 2, то можно так
console.log(parseInt((0.2 + 0.1) * 100) / 100);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы