Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 28852
  • Last Modified:

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?

Thanks
0
genesiscircle
Asked:
genesiscircle
  • 3
  • 3
  • 2
  • +4
1 Solution
 
bigphuckinglizardCommented:
change the 255 to a 0 and you'll get the same number each time.
0
 
gangwischCommented:
rnd is a function for producing a random value
0
 
OliWarnerCommented:
>> 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 =)
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
JivlainCommented:
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
next

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 ;)
0
 
JivlainCommented:
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
Next

If you actually wanted to round a number, use CInt(x)
0
 
Wim ten BrinkSelf-employed developerCommented:
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.
0
 
simon_thwaitesCommented:
Try this function

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

IntTemp = Int((255 * UnRnd()) + 1)
0
 
OliWarnerCommented:
Yeah 4 is a good number

Recommend simon_thwaites for the points =)
0
 
Wim ten BrinkSelf-employed developerCommented:
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.)
0
 
OliWarnerCommented:
Very much agreed. This thread is just too silly.

Suggestion: Move it to the lounge for more silliness to ensue or delete it.
0
 
JivlainCommented:
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".
0
 
fahadsadahCommented:
0
 
simon_thwaitesCommented:
Jivlain,

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...
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 3
  • 3
  • 2
  • +4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now