**Ruby Number Examples: Integer, Float, zero and eql**Use numbers and the zero and eql methods. Convert strings into Integers and Floats.

dot net perls

**Numbers.** Inside, the cave is still. Lights appear upon the cold dark surface wall. Each light is on or off (like a bit, which is set or not set). The lights could represent numbers.

**Ruby examples.** Numeric types and conversions are done in Ruby code (not usually in caves). Many programs use the Integer and Float built-in methods.

**Integer, Float.** Here we convert string data to number types. A string may contain digits but not be a number. With the Integer conversion, we convert it to one. We also use Float.

**Here** We convert the string "1234" into an Integer. And we convert a string with floating-point data into a Float.

**Then** We add the 2 numbers together. This shows they are no longer strings, which could not be added in this way.

Ruby program that converts strings, numbers

*# Two strings with numeric contents.
*value1 =

*"1234"*
value2 =

*"1234.5678"**
# Convert strings to numbers.
*number1 =

__Integer__(value1)
number2 =

__Float__(value2)

*
# Print numbers.
*print

*"Number1: "*, number1,

*"\n"*
print

*"Number2: "*, number2,

*"\n"**
# Add numbers together.
# ... Could not be done with strings.
*number3 = number1 + number2

*
# Print final number.
*print

*"Number3: "*, number3,

*"\n"*
Number1: 1234
Number2: 1234.5678
Number3: 2468.5678

**Exponents.** We can directly use exponents, with the two-star operator. In this program, we raise a value to the power of two, and then to the power of three.

**Tip** More advanced mathematical operations are available as methods in the Math class.

Ruby program that uses exponents

*# An initial value.
*value = 3

*
# Square the value.
*square = value

*** 2**
# Cube the value.
*cube = value

*** 3**
# Display our results.
*puts square
puts cube

9
27

**Zero, nonzero.** Zero() returns true or false. If the number is zero, it returns true. Otherwise, it returns false. Nonzero meanwhile returns the original number if it is not zero.

**And** If the number is zero, nonzero returns nil. So it returns the number with 0 changed to nil.

Ruby program that uses zero, nonzero

value = 0
if value.

__zero?__
puts

*"A"*
end
if value.

__nonzero?__
puts

*"B"** # Not reached.
*end
value = 1
if value.

__nonzero?__
puts

*"C"*
end

A
C

**Eql operator.** Unlike the "==" operator, eql compares types. So a floating point number, like 1.0, is not equal to an Integer number like 1. The == operator treats them as equal.

**Tip** Using the == operator is superior in most programs. The eql method just adds complexity—1.0 usually should equal 1.

Ruby program that uses eql

value1 = 1
value2 = 1.0
value3 = 1
if value1.

__eql?__ value2
puts "A"

* # Not reached.
*end
if value1 == value2
puts

"B"
end
if value1.

__eql?__ value3
puts

"C"
end

B
C

**Random numbers.** With the rand method we generate a pseudo-random number. The srand method is used to seed our random number generator.

rand

**Math.** Some numeric operations can be done directly, with operators like + or minus. But many math methods exist, included for easy access. These handle more complex things like sqrt.

Math

**A summary.** Tasks that involve numbers are often language-specific. In Ruby, we have many helpful operators available on numbers. We convert and manipulate numbers with ease.

© 2007-2021 sam allen. send bug reports to info@dotnetperls.com.