<div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">You might want to do some more testing.</div><div class="gmail_default" style="font-family:monospace,monospace"><br></div><div class="gmail_default"><div class="gmail_default" style="font-family:monospace,monospace">11> floaty:auto(12.3455555533).</div><div class="gmail_default" style="font-family:monospace,monospace">"12.345555553300000"</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">It is not clear that this is something you would be happy with.</div><div style="font-family:monospace,monospace">I discovered this by simplifying the code to</div><div style="font-family:monospace,monospace"><br></div><div><div><font face="monospace, monospace">auto(F) when is_float(F) -></font></div><div><font face="monospace, monospace">   P = precision(abs(F), 0),</font></div><div><font face="monospace, monospace">   erlang:float_to_list(F, [{decimals,P}]).</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">-spec precision(float(), integer()) -> integer().</font></div><div><font face="monospace, monospace">precision(A, P) -></font></div><div><font face="monospace, monospace">    if A == trunc(A) -> P</font></div><div><font face="monospace, monospace">     ; true          -> precision(A*10.0, P+1)</font></div><div><font face="monospace, monospace">    end.</font></div><div style="font-family:monospace,monospace"><br></div></div><div style="font-family:monospace,monospace">and doing some testing of my own.  I was rather relieved to discover</div><div style="font-family:monospace,monospace">that the original code behaved the same way.</div><div style="font-family:monospace,monospace"><br></div><div style="font-family:monospace,monospace">It's really not clear what the aim is here.</div><div style="font-family:monospace,monospace">I suspect that it is something that should be</div><div style="font-family:monospace,monospace">done with numbers rather than lists.</div><div style="font-family:monospace,monospace"><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 1 Jan 2019 at 23:43, PAILLEAU Eric <<a href="mailto:eric.pailleau@wanadoo.fr">eric.pailleau@wanadoo.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
<br>
1> c(floaty).<br>
{ok,floaty}<br>
2> floaty:auto(12.345555).<br>
"12.345555"<br>
3> floaty:auto(12.3455553333333).<br>
"12.3455553333333"<br>
4> list_to_float(floaty:auto(12.3455553333333)).<br>
12.3455553333333<br>
<br>
<br>
<br>
<br>
Le 31/12/2018 à 20:31, Dan Sommers a écrit :<br>
> On 12/31/18 10:37 AM, Vans S wrote:<br>
> <br>
>  > > 1> 0.0001.<br>
>  > 0.0001<br>
>  > > 2> 0.00001.<br>
>  > 1.0e-5<br>
> <br>
>  > Once floats get to the 4th/5th decimal place they start being<br>
>  > displayed with the e-x notation.  Is there a way to make them always<br>
>  > display "normally", for example 0.00001 in this case ...<br>
> <br>
> At some point, it's shorter and easier to read with the e-x notation.<br>
> <br>
> Consider a number like 1e-44.  The last thing I want is to have to count<br>
> all those zeros.  ;-)<br>
> <br>
> But you probably knew that.<br>
> <br>
>  > ... The problem is when you turn the float into a string, its also<br>
>  > displayed as 1.0e-5, adding a format function works yes, but gets<br>
>  > annoying to maintain when you need to do arithmetic on the floats.<br>
>  > LIke sorting by the value.<br>
> <br>
> I'm confused:  if you're doing arithmetic on the floats, why are you<br>
> concerned with the strings?<br>
> <br>
> If you're sorting the strings, then you'll probably either (a) have to<br>
> ensure a consistent format, perhaps with something like a ~24.18.0e<br>
> specifier, or (b) convert the strings back to floats and suffer various<br>
> rounding errors.<br>
> <br>
>  > Also debugging becomes annoying when you see the e-5, e-6, etc<br>
>  > notation everywhere and have to match it up.<br>
> <br>
> On that we agree.  :-)<br>
> <br>
>  > Is there a way to compile / add arg to the VM to not do this?<br>
> <br>
> I'm pretty new at Erlang, so I'm probably missing a lot, but how are you<br>
> displaying the values now if not with a format function?  (I guess<br>
> there's io:write, but at that point, you're awfully close to calling<br>
> io:fwrite anyway.)<br>
> <br>
> Are you just using the shell to do immediate calculations?  I'm sure<br>
> that the shell has its own default formatting, or maybe it just calls<br>
> io:write.<br>
> <br>
> Dan<br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
> <a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
> <br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div>