Background
A utility of particular interest to Cody and other MATLAB ventures is comparing the equality of two numbers. In computing, numbers can be stored in a number of ways, but they all share the trait of being stored as a binary number. As such, the equals operator in MATLAB is checking the bits of one stored number against the bits of another stored number. In this problem, I ask that we move away from this binary representation and comparison of numbers back into the decimal domain.
Problem
Write a function that takes a character input that represents a number that we wish to compare against, n1, and a double input that represents the other number, n2. Output true if the numbers are equal to the precision of n1.
Example
n1 = '12.3456' n2 = 12.3456 output = true
n1 = '12.34567432' n2 = 12.3456 output = false
It is not getting clear why '12.3456' and 12.3456789 should be accepted as equal.
the second test in the test suite is incorrect, it should be a negative assertion.
Yes, I completely agree with the other comments. The second test case is incorrect. '12.3456' is not equal to 12.3456789 which when rounded off to 4 decimal places becomes 12.3457
The 50 solvers yet (as of 26/03/19) are undeserving of their title as 'Solvers'.
Elegant!