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