Ruby Number Examples: Integer, Float, zero and eql

Use numbers and the zero and eql methods. Convert strings into Integers and Floats.

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"Output
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
Output
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
Output
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
Output
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.