Следующий расчет работает хорошо, если я кодирую значения вручную, но с динамическими значениями я всегда получаю NaN.
vals.tension = Math.round( ( Math.pow( ( vals.frequency * ( vals.stringLength * 10 ) * vals.diameter ), 2 ) * ( Math.PI * vals.density / 9810000000000 ) ) * 100 ) / 100;
Если я добавлю следующие значения, все будет работать нормально:
Math.round( ( Math.pow( ( 389.723 * ( 66 * 10 ) * .44 ), 2 ) * ( Math.PI * 1300 / 9810000000000 ) ) * 100 ) / 100;
// 5.33
Если я выписываю значения вручную, это тоже нормально работает:
var vals = {
frequency: 389.723,
stringLength: 66,
diameter: .44,
density: 1300
};
Но если я попытаюсь динамически воссоздать точно такие же значения с помощью пользовательского ввода, я получу NaN. Я проверил значения через console.log, и они ТОЧНО одинаковы (они не являются строками), и все они добавляются в объект нормально, но фактический расчет при динамическом формировании (в Safari) возвращает NaN.