toFixed превращает число в строку. Возможно поэтому и ломается.
Не трогайте число. Но выводите строку.
В вашем коде нет вывода, но в качестве примера
// Идут расчеты
price = ...
// Делается вывод на страницу
element.innerHTML = price.toFixed();
Так вы не трогаете число прайс, но форматируете вывод как нужно
PS. toFixed(2) - вернёт строковое представление числа с двумя знаками после запятой.