Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не работает генератор чисел (https://javascript.ru/forum/events/84499-ne-rabotaet-generator-chisel.html)

100.1 01.10.2022 13:41

Не работает генератор чисел
 
Здравствуйте, обыватели данного форума, помогите пожалуйста исправить криворукость этого кода. Смысл его такой: пользователь вводит данные минимального и максимального числа через input и с помощью нижеописанной функции число генерируется и пишется в alert :help:

<!DOCTYPE html>
<html>
<head>
<title>Randomizer</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript">
function randomInteger() {
var min = document.getElementById("minnum").value;
var max = document.getElementById("maxnum").value;
let num = min + Math.random() * (max+1-min)
let num = Math.floor(num);
}
</script>
<meta name="viewport" content="width=device-width">
</head>
<body>
<header class="header">
<div class="container">
<h1>Генератор</h1>
</div>
</header>
<nav class="nav">
<div class="donate">
<a> <img src="img/serega.jpg"></a>
</div>
<input type="number" id="minnum">
<input type="number" id="maxnum">
<button onclick="alert(randomInteger());">click suda</button>
</nav>
</body>
</html>

Nexus 01.10.2022 13:55

Ваша функция randomInteger ничего не возвращает (return).

100.1 01.10.2022 13:58

Я сделал return num, но от этого мало что поменялось к сожалению

voraa 01.10.2022 14:01

А вы консолью и прочими средствами разработчика пользуетесь?
А надо.
Иначе как посмотреть на свои ошибки?
По принципу работает - хорошо, не работает подскажите, что не так?

У вас ошибки в коде. Пока не научитесь их смотреть, ничего хорошего не получится.

100.1 01.10.2022 14:08

Спасибо) я понял, где у меня ошибка была, нужно было вывести Math.floor(num), а не let num = math.floor(num);
но теперь прикол в другом, ошибок как таковых в консоли нету, но числа в генераторе не ограничиваются ничем, т.е. вылезает любое рандомное число, а не в пределе заданного, но за средства разработчика спасибо, я думал что они не настолько полезны, как оказалось

voraa 01.10.2022 14:24

А тут надо знать, как выполняются всякие операции +, *, -
когда операнды числа, строки, числа и строки...
Ведь document.getElementById("minnum").value возвращает строку, а не число
min и max у вас будут строками.
А '3' + 5 будет '35', а не 8.

100.1 01.10.2022 14:40

Я чего-то близко об этом думал, но недодумал) мне нужно воспользоваться parseFloat наверное?

100.1 01.10.2022 14:43

Всё заработало, спасибо вам большое!)


Часовой пояс GMT +3, время: 11:37.