Професионална програма
Loading...
amydarling avatar amydarling 13 Точки

Проблем със задача 01. Back to the past - More exercises

Имам проблем с тази задача ,но разгледах из форума и забелязах ,че и други хора имат същия проблем . Мисълта ми е дали аз бъркам някъде или има проблем с очакваното решение в judge. Ето го и моето решение :

https://pastebin.com/t4PG2M9k

Тагове:
1
Programming Basics
MartinBG avatar MartinBG 3751 Точки

На ред №21 извикайте .toFIxed след Math.abs.

console.log(`He will need ${Math.abs(heritage).toFixed(2)} dollars to survive.`)

Проблемът е, че Math.abs не гарантира, че ще получим абсолютната стойност на същото число, тъй като числата с плаваща запетая са само приблизителни (напр. Math.abs(-0.99) не е гарантирано да върне 0.99, а може да е 0.9.0001 или 0.8999).

 

 

0
willystyle avatar willystyle 2420 Точки

@MartinBG не е това проблема което си обяснил, а просто че Math.abs връща Number и губи trailing zeroes. Иначе е гарантирано че Math.abs(-0.99) ще върне 0.99. Math.abs само променя бита за знак а не извършва проблемни математически операции за да измени float.

P.S. Та да не ти е странно, че дори

console.log(`He will need ${Math.abs(heritage.toFixed(2)).toFixed(2)} dollars to survive.`);

ще си даде 100/100

1
27/05/2020 19:39:27
MartinBG avatar MartinBG 3751 Точки

@willystyle

Благодаря за пояснението!

Прав си, разбира се. yes

1
27/05/2020 20:56:43