Data::Unixish::num - Format number


This document describes version 1.56 of Data::Unixish::num (from Perl distribution Data-Unixish), released on 2017-07-10.


In Perl:

 use Data::Unixish qw(lduxl);
 my @res = lduxl([num => {style=>"fixed"}], 0, 10, -2, 34.5, [2], {}, "", undef);
 # => ("0.00", "10.00", "-2.00", "34.50", [2], {}, "", undef)

In command line:

 % echo -e "1\n-2\n" | LANG=id_ID dux num -s fixed --format=text-simple




 num(%args) -> [status, msg, result, meta]

Format number.

Observe locale environment variable settings.

Undef and non-numbers are ignored.

This function is not exported.

Arguments ('*' denotes required arguments):

  • decimal_digits => int

    Number of digits to the right of decimal point.

  • in => array

    Input stream (e.g. array or filehandle).

  • out => any

    Output stream (e.g. array or filehandle).

  • prefix => str

    Add some string at the beginning (e.g. for currency).

  • style => str (default: "general")

    Available styles:

    • fixed (Fixed number of decimal digits, e.g. 1.00, default decimal digits=2)

    • general (General formatting, e.g. 1, 2.345)

    • kibi (Use Ki/Mi/GiB/etc suffix with base-10 [1000], e.g. 1.2Mi)

    • kilo (Use K/M/G/etc suffix with base-2, e.g. 1.2M)

    • percent (Percentage, e.g. 10.00%)

    • scientific (Scientific notation, e.g. 1.23e+21)

  • suffix => str

    Add some string at the end (e.g. for unit).

  • thousands_sep => str

    Use a custom thousand separator character.

    Default is from locale (e.g. dot "." for en_US, etc).

    Use empty string "" if you want to disable printing thousands separator.

Returns an enveloped result (an array).

First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.

Return value: (any)


Please visit the project's homepage at


Source repository is at


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


perlancar <>


This software is copyright (c) 2017, 2016, 2015, 2014, 2013, 2012 by

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.