Странное поведение функции toFixed

116
27 июля 2021, 13:40

Вот я обрезаю одно число:

const x = 123.4567;
console.log(x.toFixed(2));

На выходе получаем 123.45. А теперь другое:

const y = 122.999877;
console.log(y.toFixed(2));

И на выходе получаем 123.00. Что за прикол??? Почему он его округлил? Мне не нужно этого! Я хочу получить 122.99!

Answer 1

Как-то так можно:

console.log(clip(4954.373, 1)); // 4954.3 
console.log(clip(4189.98628, 2)); // 4189.98 
console.log(clip(1158.897094, 5)); // 1158.89709 
 
function clip(n, a) { 
  let k = Math.pow(10, a); 
  return Math.floor(n*k)/k; 
}

Answer 2

Короче я соорудил вот такую конструкцию и вроде это работает:

function round(value, precision = 2) {
    const str = value.toString();
    const pointPos = str.indexOf('.');
    return +(pointPos >= 0 ? str.slice(0, pointPos + precision + 1) : str);
}
READ ALSO
Затемнение картинки с помощью другой картинки

Затемнение картинки с помощью другой картинки

Есть картинка, и другая как просто темная, я хочу чтобы при наведении чтобы одна оставалась такой же(основная), а вторая ложилась поверх ее и давала...

195
Работа с парами в методах C++

Работа с парами в методах C++

Есть метод, работающий с очередью пар dequeНужно, чтобы при определенных входных данных, метод, работал либо с первой частью пары, либо со второй

272