We help IT Professionals succeed at work.

Rnd() values are changing everytime in ASP.NET

hi all,

IntTemp = Int((255 * Rnd()) + 1)

I used above ASP.NET code. Problem is in " Rnd() " 
Rnd() value is changing everytime.

What is the alternative for Rnd()? OR How will stop Rnd() value changes at everytime?

Watch Question

change the 255 to a 0 and you'll get the same number each time.
rnd is a function for producing a random value
Top Expert 2006

>> Rnd() values are changing everytime in ASP.NET

As gangwisch said, Rnd() gives a random number... Why would you expect a random number to stay the same?

ROFL@ bigphuckinglizard's answer =)

Rnd() is a function for producing a value, as OliWarner said.

Each time you call the Rnd() function you will get a different value.
However, you can get the numbers to come out in the same order each time by calling

Try this:

Randomize(25) 'whatever number here will affect which set of numbers will come up
for i=0 to 10
 Response.Write rnd(100).ToString()+"<br>" 'print a number between 0-99

Now note I haven't actually tested this... but theoretically it should print 10 numbers to the page. They'll all (probably) be different. But the same 10 should come up each time.

Gosh, it's been a very long time since I've used VB ;)

Hmmmm, I've actually tested this version...

Randomize(25) 'whatever number here will affect which set of numbers will come up
Dim i As Integer
For i = 0 To 10
     Response.Write(CInt(Rnd() * 100).ToString()+"<br>") 'print a number between 0-99

If you actually wanted to round a number, use CInt(x)
Wim ten BrinkSelf-employed developer

Interesting addition: this question made it to the Daily WTF. See also http://thedailywtf.com/forums/thread/103463.aspx

Doesn't seem that fair to me though. When testing an application, you might want to set a starting seed for the random numbers so you can predict which number will be next. Therefore I think Jivlain gave a correct answer to a perfectly valid question.
Try this function

Function UnRnd()
UnRnd = 4 'my favourite number!
End Function

IntTemp = Int((255 * UnRnd()) + 1)
Top Expert 2006

Yeah 4 is a good number

Recommend simon_thwaites for the points =)
Wim ten BrinkSelf-employed developer

I'd just suggest to delete this Q because the question is just too dumb. :-) Seems to me that whomever asked it wasn't even serious. (Else he needs another job.)
Top Expert 2006

Very much agreed. This thread is just too silly.

Suggestion: Move it to the lounge for more silliness to ensue or delete it.
Aw, come on. I'm sure I could use the points for something ;)

Even if I did come to this thread off The Daily WTF.

Though it is a shame that Simon's alternate function didn't take advantage of the golden opportunity to include the number "42".

but 42 isn't my favourite number ;)

Try the AnswertoLifetheUniverseandEverything() function, but it does take 7.5 Million years to execute, damn Java... they should have used C or something...