gawk: Comparing FP Values

 
 15.4.1.2 Be Careful Comparing Values
 ....................................
 
 Because the underlying representation can be a little bit off from the
 exact value, comparing floating-point values to see if they are exactly
 equal is generally a bad idea.  Here is an example where it does not
 work like you would expect:
 
      $ gawk 'BEGIN { print (0.1 + 12.2 == 12.3) }'
      -| 0
 
    The general wisdom when comparing floating-point values is to see if
 they are within some small range of each other (called a "delta", or
 "tolerance").  You have to decide how small a delta is important to you.
 Code to do this looks something like the following:
 
      delta = 0.00001                 # for example
      difference = abs(a) - abs(b)    # subtract the two values
      if (difference < delta)
          # all ok
      else
          # not ok
 
 (We assume that you have a simple absolute value function named 'abs()'
 defined elsewhere in your program.)