From: Garthy D Date: 2012-01-27T09:05:39+09:00 Subject: Re: Microrant on Ruy's Math Skills Hi all, Such a large discussion from a simple initial post that was, in all likelihood, an attempt to troll for as many responses as possible. It looks like it has been wildly successful. Perhaps a response like this would have been appropriate: "Floats in Ruby are represented using the floating point numbers provided by the underlying system, which are generally base 2 floating point numbers, as per IEEE 754. They have advantages and disadvantages that are worth being aware of, including loss of precision for certain operations and values. This means that you cannot rely on testing for equality in certain cases, and it may be more appropriate to check to see if the result is within a certain epsilon. If the disadvantages are not suitable for your problem domain or use case, you will have to use a different numeric representation system more suited to your problem. All representation systems have their own strengths and weaknesses. BigDecimal may be more suitable than float in this case. A web search for 'floating point representation' will provided much additional useful information." In any form of software development you need to be aware of the capabilities and limitations of the systems that you use, and in many cases make an informed decision based on a set of potential systems. To remain wilfully ignorant of these systems, and then cry "pathetic", is disingenuous. To subsequently push for language changes based on such a shaky foundation is ludicrous. There are far better ways to stimulate genuine discussion on an genuinely interesting topic than through a deliberately inflammatory initial posting and comparable followups. IMHO. Garth On 22/01/12 00:36, Intransition wrote: > So simple... > > 1.1 - 1.to_f == 0.1 > >> false > > (*rumble*) (*rumble*) Pathetic!