In message Re: Rounding to X digits on Sat, 16 Oct 2004 08:23:49 +0900 Markus wrote: > On Sat, 16 Oct 2004, GOTO Kentaro wrote: > > sprintf(3) conform to ISO 31-0 but Float#round doesn't. > > > > 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). Thanks Markus. I had misunderstood long time. I found a citation (probably) from ISO 31-0 Annex B http://www.dataaction.co.jp/31-e.htm Gotoken