Search code examples
rubymathfloating-pointdecimalprecision

Truncate a floating point number without rounding up


I have a floating point number that I want to truncate to 3 places but I don't want to round up.

For example, convert 1.0155555555555555 to 1.015 (not 1.016).

How would I go about doing this in Ruby?


Solution

  • Assuming you have a float, try this:

    (x * 1000).floor / 1000.0
    

    Result:

    1.015
    

    See it working online: ideone