Javascript VAR не работает в расчете - PullRequest
0 голосов
/ 16 мая 2019

Строка 11 не будет вызывать 'l' в качестве значения.Если я положу значение непосредственно в JS, это работает ...

$(function() {
  $('#calculate').on('click', function() {
    var b = parseInt($('#b').val().trim()),
      l = parseInt($('#l').val().trim()),
      m = parseInt($('#m').val().trim()),
      p = parseInt($('#p').val().trim()),
      w = parseInt($('#w').val().trim()),
      ppw,
      d;
    d = b * (1 / m) * 1000;
    w = (l * 1000) / d;
    ppw = p / w;
    $('#d').val(d);
    $('#w').val(w);
    $('#ppw').val(ppw);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
bucket <input id='b' type='text' value='10' /><br/>
liters <input id='l' type='text' value='0.473' /><br/>
mix <input id='m' type='text' value='500' /><br/>
price <input id='p' type='text' value='229' /><br/>

<button id='calculate'>Calculate</button><br/>
dillute: <input id='d' type='text' /><br/>
washes: <input id='w' type='text' /><br/>
price pr wash:<input id='ppw' type='text' />

Новичок в JS, так что, если я делаю что-то странное, я впервые делаю JS сам:)

Ответы [ 3 ]

3 голосов
/ 16 мая 2019

l содержит строку, представляющую число с плавающей запятой, но вы пытаетесь проанализировать его как целое число. Это усекает значение до 0. Попробуйте parseFloat вместо:

l = parseFloat($('#l').val().trim()),
1 голос
/ 16 мая 2019

Поскольку значение в литрах является десятичным, используйте parseFloat вместо parseInt.(Использование parseInt округляло его до нуля)

Рабочая скрипка: http://jsfiddle.net/tay3hus5/

1 голос
/ 16 мая 2019

Ваше значение l не является целым числом, это число с плавающей точкой от 0 до 1.

Если вы используете parseInt, оно будет округлено до целого числа, следовательно, 0 в вашем случае.Вы должны использовать parseFloat, чтобы получить «реальное» значение

l = parseFloat($('#l').val().trim())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...