The pod for the rand function says
rand Returns a random fractional number greater than or equal to "0"
So yes, it is zero inclusive.

The return data type is not float (there is no such thing in perl). See perldata and perlnumber for more information (and a better explanation of perl number semantics -- to you/me they're all scalars, but some functions/operators are picky).

Back to perldoc, perlfunc says:

Numeric functions "abs", "atan2", "cos", "exp", "hex", "int", "log", "oct", "rand", "sin", "sqrt", "srand"
see int -- it just returns the integer portion of a number. It does not round. If you wish to round, the int documentation itself reccomends "sprintf", "printf", or the "POSIX::floor" and "POSIX::ceil". There is a tutorial on (s)printf in our Tutorials section. POSIX is a standard module, and ceil and floor do what you'd expect.

Now on a different note, it's easy to miss int tucked in the perlfunc, so do like How to RTFM says (great read), use the help of a search engine or even grep/find, especially when you've got a great keyword like round.

update: moodster below links to a question from the perlfaq which is invaluable (and which is also mentioned in How to RTFM -- good advice).

 
______crazyinsomniac_____________________________
Of all the things I've lost, I miss my mind the most.
perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"


In reply to (crazyinsomniac) Re: perl rand() function by crazyinsomniac
in thread perl rand() function by wilstephens

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.