# How can I generate a random value but limited between two values such as a value between (25 - 50)? please I want a code similar to this code

**URL:** <https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001>\
**Category:** General\
**Tags:** function-node\
**Created:** [30 April 2022 14:33 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001 "2022-04-30T14:33:46Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mohannad\_Alobaid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/mohannad_alobaid/32/60208_2.png) [@Mohannad\_Alobaid](https://discourse.nodered.org/u/Mohannad_Alobaid)\
**Post date:** [30 April 2022 14:33 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/1 "2022-04-30T14:33:46Z")

</div>

```auto
msg.payload = {};
msg.payload.DamA = parseInt(Math.random() * 100);
return msg;

```

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [30 April 2022 14:37 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/2 "2022-04-30T14:37:43Z")

</div>

try

```auto
msg.payload = {};
msg.payload.DamA = Math.floor(Math.random() * 26) + 25
return msg;

```

---

<div class="post-metadata">

**Author:** ![gerry](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gerry/32/21604_2.png) [@gerry](https://discourse.nodered.org/u/gerry)\
**Post date:** [30 April 2022 15:35 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/3 "2022-04-30T15:35:12Z")

</div>

there is a node node-red-node-random that will do all you are asking, I use it and found it works well.

---

<div class="post-metadata">

**Author:** ![Mohannad\_Alobaid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/mohannad_alobaid/32/60208_2.png) [@Mohannad\_Alobaid](https://discourse.nodered.org/u/Mohannad_Alobaid)\
**Post date:** [30 April 2022 19:24 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/4 "2022-04-30T19:24:11Z")

</div>

> [@E1cid](#):
>
> ```auto
> msg.payload = {};
> msg.payload.DamA = Math.floor(Math.random() * 26) + 25
> return msg;
> 
> ```

its do not work

---

<div class="post-metadata">

**Author:** ![Mohannad\_Alobaid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/mohannad_alobaid/32/60208_2.png) [@Mohannad\_Alobaid](https://discourse.nodered.org/u/Mohannad_Alobaid)\
**Post date:** [30 April 2022 19:33 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/5 "2022-04-30T19:33:42Z")

</div>

it do not work well

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [30 April 2022 21:29 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/6 "2022-04-30T21:29:28Z")

</div>

What doesn't work about it?

Both the function provided by @E1cid and the node-red-node-random node can do exactly what you have asked for.

If they do not work for you, please explain what is not working so we can understand what is missing.

---

<div class="post-metadata">

**Author:** ![Mohannad\_Alobaid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/mohannad_alobaid/32/60208_2.png) [@Mohannad\_Alobaid](https://discourse.nodered.org/u/Mohannad_Alobaid)\
**Post date:** [1 May 2022 00:08 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/7 "2022-05-01T00:08:00Z")

</div>

```auto
msg.payload = {};
msg.payload.ReservoirCapacity = parseInt(Math.random() * 25);
msg.payload.DamA = parseInt(Math.random() * 10);
msg.payload.DamB = parseInt(Math.random() * 10);
msg.payload.DamC = parseInt(Math.random() * 10);
msg.payload.AirT = parseInt(Math.random() * 40);
msg.payload.WaterT = parseInt(Math.random() * 32);
msg.payload.Node01 = parseInt("Normal");
msg.payload.Node02 = parseInt("Normal");
msg.payload.Node03 = parseInt("Normal");
msg.payload.Node04 = parseInt("Normal");
msg.payload.Raspberrypi = parseInt("Normal");
return msg;

```

when i use "msg.payload.DamA = Math.floor(Math.random() \* 26) + 25" all code stop and out nothing

---

<div class="post-metadata">

**Author:** ![craigcurtin](https://avatars.discourse-cdn.com/v4/letter/c/94ad74/32.png) [@craigcurtin](https://discourse.nodered.org/u/craigcurtin)\
**Post date:** [1 May 2022 04:43 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/8 "2022-05-01T04:43:44Z")

</div>

> [@Mohannad\_Alobaid](#):
>
> when i use "msg.payload.DamA = Math.floor(Math.random() \* 26) + 25" all code stop and out nothing

Well i just took the code that E1Cid provided and ran it with an inject node 1/2 dozen times and it worked perfectly.

I would suggest you take the code he provided and run it in a function node and show us the debug output.

You can then take it and put it into your function and isolate where the problem is

I performed my test on NR 1.3.5

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/d/7de4bcefaae4f881370b3b6f4d14826632d46a63.png)

![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/d/2d01b5c8f6002783274ab7b1935fd0a54a0c376d.png)

Craig

---

<div class="post-metadata">

**Author:** ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)\
**Post date:** [1 May 2022 05:11 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/9 "2022-05-01T05:11:14Z")

</div>

Also works fine for me using NR 2.2.2

 ![Screen Shot 05-01-22 at 06.09 AM](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/d/9d2b2c0707758c368ebdcfd0946423c67261ef2e.png)

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [1 May 2022 06:01 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/10 "2022-05-01T06:01:33Z")

</div>

`parseInt("Normal");`

That will result in `NaN` (not a number). Suggest to remove it.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [30 June 2022 06:02 UTC](https://discourse.nodered.org/t/how-can-i-generate-a-random-value-but-limited-between-two-values-such-as-a-value-between-25-50-please-i-want-a-code-similar-to-this-code/62001/11 "2022-06-30T06:02:25Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
