InMotion Web Site Hosting
InMotion Hosting Home




Node:Numeric Literals, Previous:Numbers, Up:Numbers



Numeric Literals

Numeric literals are simply constant numbers. Numeric literals are much easier to comprehend and use than string literals. There are only a few basic ways to express numeric literals.

The numeric literal representations that Perl users are similar to those used in other languages such as C, Ada, and Pascal. The following are a few common examples:

42;         # The number 42
12.5;       # A floating point number, twelve and a half
101873.000; # 101,873
.005        # five thousandths
5E-3;       # same number as previous line
23e-100;    # 23 times 10 to the power of -100 (very small)
2.3E-99;    # The same number as the line above!
23e6;       # 23,000,000
23_000_000; # The same number as line above
            # The underscores are for readability only

As you can see, there are three basic ways to express numeric literals. The most simple way is to write an integer value, without a decimal point, such as 42. This represents the number forty-two.

You can also write numeric literals with a decimal point. So, you can write numbers like 12.5, to represent numbers that are not integral values. If you like, you can write something like 101873.000, which really simply represents the integral value 101,873. Perl does not mind that you put the extra 0's on the end.

Probably the most complex method of expressing a numeric literal is using what is called exponential notation. These are numbers of the form b * 10^x , where b is some decimal number, positive or negative, and x is some integer, positive or negative. Thus, you can express very large numbers, or very small numbers that are mostly 0s (either to the right or left of the decimal point) using this notation. However, when you write such a number as a literal in Perl, you must write it in the from bEx, where b and x are the desired base and exponent, but E is the actual character, E (or e, if you prefer). The examples of 5E-3, 23e-100, 2.3E-99, and 23e6 in the code above show how the exponential notation can be used.

Finally, if you write out a very large number, such as 23000000, you can place underscores inside the number to make it more readable. 1 Thus, 23000000 is exactly the same as 23_000_000.


Footnotes

  1. Language historians may notice that this is a feature from the Ada language.




InMotion Web Hosting Customer Support
M-F 8am - 7pm PST
213-239-0050

More information can be found at the InMotion Hosting Main Site