Показать сообщение отдельно
  #6 (permalink)  
Старый 13.03.2018, 13:31
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,139

потому что порядок выполнения операторов
1. операция умножения с двумя операндами т.к. язык с динамической типизацией то операнды приводятся к одному типу.
т.е. после операции «result.toFixed(2)» привидения к строке результат выражения «result.toFixed(2)» снова приводится к числу для проведения операции умножения.

В JS для хранения типа Number используются только число с плавающей точкой т.е. точная арифметика в JS невозможна (без плясок с бубном)

поможет изменения порядка операций с использованием скобок

var result = Math.random();
alert(  (100*result).toFixed(2) + " = " + result)
Ответить с цитированием