[erlang-questions] convert strings like "1e-8" to floats.

Jesper Louis Andersen <>
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 <>
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
> 
> 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.html>


More information about the erlang-questions mailing list