[erlang-questions] [patch] new float_to_list/2

Serge Aleynikov <>
Wed Jan 12 15:10:36 CET 2011


The reason I called it precision was to be consistent with the naming 
convention of the printf function.  Below is the extract from "man 3 
printf", which refers to the digits after the decimal point as "precision":

        f, F   The  double  argument is rounded and converted to decimal
               notation in the style [-]ddd.ddd, where the number of
               digits after the decimal-point character is equal to the
               precision specification.  If the precision is missing,
               it  is taken as 6; if the precision is explicitly zero,
               no decimal-point character appears.  If a decimal point
               appears, at least one digit appears before it.

I don't have a very strong preference for calling it precision or scale, 
but I do have a strong preference for including this patch in the 
distribution, because the default behavior of float_to_list/1 hard-coded 
in C is deficient.


On 1/12/2011 4:58 AM, nox wrote:
> Il should be called "scale", shouldn't it?
>
> Le 12 janv. 2011 à 10:26, Pierpaolo Bernardi<>  a écrit :
>
>> On Wed, Jan 12, 2011 at 06:44, Serge Aleynikov<>  wrote:
>>> Attached please find a patch that adds a new float_to_list/2 BIF.  The patch
>>> was created off of the master branch of https://github.com/erlang/otp.
>>>
>>> This BIF solves a problem of float_to_list/1 that doesn't allow specifying
>>> the number of digits after the decimal point when formatting floats.
>>>
>>>         float_to_list(Float, Options) ->  string()
>>>
>>>         Float = float()
>>>         Options = [Option]
>>>         Option = {precision, Precision::integer()} | compact
>>>
>>>         Text representation of a float formatted using given options
>>>
>>>         Returns a string which corresponds to the text
>>>         representation of Float using fixed decimal point formatting.
>>>         When precision option is specified
>>>         the returned value will contain at most Precision number of
>>>         digits past the decimal point.  When compact option is provided
>>>         the trailing zeros at the end of the list are truncated.
>>
>> I think the option is misnamed.
>>
>> In the usual terminology, 'precision' is the total number of
>> significative digits, not only the ones past the decimal point.
>>
>> Cheers
>> P.
>>
>> ________________________________________________________________
>> erlang-questions (at) erlang.org mailing list.
>> See http://www.erlang.org/faq.html
>> To unsubscribe; mailto:
>>


More information about the erlang-patches mailing list