[erlang-questions] convert strings like "1e-8" to floats.
Jesper Louis Andersen
jesper.louis.andersen@REDACTED
Wed Feb 8 16:35:44 CET 2017
Another example is OCaml, which supports entering integers as
# 1_000_000;;
- : int = 1000000
which is very nifty, but unique to OCaml and thus not too portable.
On Wed, Feb 8, 2017 at 12:16 PM Mikael Pettersson <mikpelinux@REDACTED>
wrote:
> Oleksii Semilietov writes:
> > Hi all!
> >
> > I playing with converting binaries and lists to floats and I found
> > something what I can't solve via elegant way. I believe it's my leakage
> of
> > understanding floats.
> >
> > So, what is different between 1e-8 and 1.0e-8 ?
> >
> > For example we have float as list "0.01". It is easy to convert it to
> > float just via list_to_float("0.01").
> > But when floats coming from external world as binaries or lists which
> looks
> > like "1e-8", and not like "1.0e-8", I can't find proper way to convert
> it.
> >
> > For example in PHP both 1e-8 and 1.0e-8 is equivalent
> > var_dump(floatval("1e-8") === floatval("1.0e-8")) returns true.
> > Javascript 1E-8 === 1.0E-8 is also true.
> >
> > In Erlang
> >
> > list_to_float("1.0E-8") =:= 0.00000001
> > true
> >
> > but
> >
> > list_to_float("1E-8") =:= 0.00000001.
> > ** exception error: bad argument in function list_to_float/1 called as
> > list_to_float("1E-8")
> >
> >
> > How to convert it via right way?
>
> Write your own conversion routine.
>
> Your mistake is assuming literals like floats have the same look and feel
> regardless of language or environment. That's in general not true.
>
> You may also consider the different notation for integers with non-decimal
> base, e.g. 0xabba vs 16#abba, or character literals, etc.
>
> What it means is that a tool written in one language but processing source
> code for another, must be prepared to do all conversions on its own without
> relying on ready-made services in the implementation language.
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170208/c9f79aea/attachment.htm>
More information about the erlang-questions
mailing list