[erlang-questions] Fwd: Change in behaviour in 5.9

Michael Schreckenbauer <>
Fri Jan 13 23:42:24 CET 2012


Am Freitag, 13. Januar 2012, 23:34:23 schrieb Michael Schreckenbauer:
> Hi,
> 
> Am Freitag, 13. Januar 2012, 23:21:46 schrieb Vlad Dumitrescu:
> > ... and to the list ....
> > 
> > Hi!
> > 
> > On Fri, Jan 13, 2012 at 23:15, Bob Cowdery <> 
wrote:
> > > In erl 5.8.2 I had this:
> > > S = io_lib:format("~10.6.0f", [Freq]),
> > > where Freq was a float, say 7.0 and this gave me
> > > [["00","7.000000"]] so I concat the strings to get what I want which
> > > is
> > > "007.000000"
> > > 
> > > In 5.9 the code breaks because I get
> > > [["00",55,46,48,48,48,48,48,48]].
> > > 
> > > Neither look right to me but I really don't understand the 5.9
> > > result.
> > > 
> > > If I do io:format("~10.6.0f", [7.0]). it gives me what I would
> > > expect
> > > "007.000000".
> > > 
> > > Can someone explain these behaviours please.
> > 
> > io:format returns an iolist. The exact contents may vary, but they
> > represent the same thing:
> > 3> erlang:iolist_to_binary([["00",55,46,48,48,48,48,48,48]]).
> > <<"007.000000">>
> 
> My (5.8.5) io:format returns ok.
> 
> Eshell V5.8.5  (abort with ^G)
> 1> A=io:format("lalala", []).
> lalalaok
> 2> A.
> ok
> 3>

... but the OP was talking about io_lib:format, which indeed returns an 
iolist.

> > regards,
> > Vlad

Best,
Michael




More information about the erlang-questions mailing list