Test2::Compare::Float - Compare two values as numbers with tolerance.


This is used to compare two numbers. You can also check that two numbers are not the same.

This is similar to Test2::Compare::Number, with extra checks to work around floating point representation issues.

The optional 'tolerance' parameter controls how close the two numbers must be to be considered equal. Tolerance defaults to 1e-08.

Note: This will fail if the received value is undefined. It must be a number.

Note: This will fail if the comparison generates a non-numeric value warning (which will not be shown). This is because it must get a number. The warning is not shown as it will report to a useless line and filename. However, the test diagnostics show both values.


The source code repository for Test2-Suite can be found at


Chad Granum <>


Andrew Grangaard <>


Copyright 2018 Chad Granum <>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.