From: "trans. (T. Onoma)" Date: 2004-10-16T09:58:57+09:00 Subject: Re: Rounding to X digits On Friday 15 October 2004 07:23 pm, markus@reality.com wrote: | > puts 0.5.round #=> 1 | > puts sprintf("%.0f", 0.5) #=> 0 | | Both are (IIRC) ISO 31-0 conformant, but one uses ISO 31-0 B.3 rule A | and the other uses ISO 31-0 B.3 rule B. | | That said, one of the rules (the one sprintf uses, to round down | following even digits is an abomination and should be eliminated from the | face of the earth. nnn.nn5 should ALWAYS round up and rounded values | should not be re-rounded (which is what the contrary rule assumes is | happening). Apparently the idea of even vs. odd rounding was to help prevent "inflational" rounding --successive rounding pushing values upward. I think K&R actually supported the idea. I'm not sure how I feel about it. T.