When you think ASP, think...
 Recent Articles All Articles ASP.NET Articles ASPFAQs.com Related Web Technologies User Tips! Coding Tips

 Sections: Sample Chapters JavaScript Tutorials MSDN Communities Hub Official Docs Security Stump the SQL Guru! XML Info Information: Feedback Author an Article
User Tips: Making Quick, Random Decisions in an ASP Page

There are certain times when you'd like an ASP script to randomly choose to do one of N tasks. One can use the `Randomize` statement and the `Rnd` function in VBScript to select a random number. In fact, this is the only way to generate truly random numbers. But sometimes generating a purely random number isn't that important, you would just like to do 1 of N things, where each of the N events are equally probable.

For examle, on the 4GuysFromRolla.com homepage I have a space reserved to place a link to one of my two books: Designing Active Server Pages and Sams Teach Yourself ASP 3.0 in 21 Days. I wanted to randomly have each book displayed... however, I am not too concerned about true randomness and am more interested in having each book shown with equal probability.

It struck me that a very easy thing to do would be to determine the current time (using the `Time` function), grab the seconds (using the `Second` function) and then `Mod 2` the result. The `Mod` operator is used like:

 `Number1 Mod Number2`

dividing `Number1` and `Number2` and returning the remainder. Here is a simple chart of `Mod` values:

Mod Values
`Number1``Number2` `Number1 Mod Number2`
550
651
752
853
954
1050
660
761
862
963
1064
770
871
972
1073
880
981
1082
990
1091
10100

So, to give two events the same probability, I simply did:

 ```Dim iEventID iEventID = Second(Time) Mod 2 'At this point iEventID will equal 0 or 1 If iEventID = 0 then 'do event 0 Else 'iEventID == 1 'do event 1 End If ```

That's all there is to it! A quick and dirty way to act on one of two events with equal probability!

Is that Number Even or Odd?
The `Mod` operator can be used to quickly determine if a number is even or odd! Assume we have some integer value, `iVal`. If `iVal Mod 2 = 0` then `iVal` is even; if, on the other hand, `iVal Mod 2 = 1`, then ```iVal is odd! ```

Happy Programming!

 ASP.NET [1.x] [2.0] | ASPFAQs.com | Advertise | Feedback | Author an Article

 #brand-footer{text-align:center;margin:0 auto;} #commonfooterpropertytext{padding-bottom: 12px;} #commonfootercopyright{padding: 3px;} #eweekBrand-footer{text-align:center;margin:0 auto} #footerDisclaimerText{margin: 15px 10px 0px 10px; text-align: justify;} Advertiser Disclosure: Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.