пробовал разные методы, но когда после точки стоит 0 как в моем случае, то постоянно выводит 8 без десятых
То, что есть результатом операции, и то, что вы видите на (форматированном) выводе - это вовсе не одно и то же.
P.S. Форматируйте свой вывод под любые свои капризы используя toFixed(). ;-)