Using LC 7.0.2-rc-2, I have two numbers, each in its own variable ('temp' and 'aa' below) that may differ at say the eleventh decimal place but are otherwise identical. This bit of code:
set the numberformat to "0.######" -- to get 6 dec place precision just for the comparison put temp*1 into temp -- force a calculation to make a character string of the correct length put aa*1 into aa -- force a calculation to make a character string of the correct length if temp <> aa then answer error "No! aa must be" && aa && "length=" & (number of chars of aa) & ", but it is actually" && temp && "length=" & (number of chars of temp) [...] always results in an error even though their length as strings is the same and the actual strings are by inspection identical, i.e. the numbers are being seen as unequal even though their representation as strings is undoubtedly equal. If I code if length (aa) <> length (temp) or (char 1 to length(aa) of temp) <> (char 1 to length(aa) of aa) Then I get the expected result and the error message is not shown. So it looks as if either I have made a massive mistake (always possible, to put it mildly) or the comparison is for the numeric values of the original quantities and not the string representations which I have tried to achieve. This goes against common sense - where are these more precise numbers being stored? Sadly I can't (yet) reduce this to a simple demonstration to report it as a bug, but I shall continue to try. Just wondered if anyone else had seen anything at all like this. Still trying, but puzzled. Graham _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode