The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CLDR::Number::Format::Decimal - Localized decimal formatter using the Unicode CLDR

VERSION

This document describes CLDR::Number::Format::Decimal v0.11, built with Unicode CLDR v27.0.1.

SYNOPSIS

    # either
    use CLDR::Number::Format::Decimal;
    $decf = CLDR::Number::Format::Decimal->new(locale => 'es');

    # or
    use CLDR::Number;
    $cldr = CLDR::Number->new(locale => 'es');
    $decf = $cldr->decimal_formatter;

    # when locale is 'es' (Spanish)
    say $decf->format(1234.5);  # '1.234,5'

    # when locale is 'es-MX' (Mexican Spanish)
    say $decf->format(1234.5);  # '1,234.5'

    # when locale is 'ar' (Arabic)
    say $decf->format(1234.5);  # '١٬٢٣٤٫٥'

    # when locale is 'bn' (Bengali)
    say $curf->format(123456);  # '১,২৩,৪৫৬'

DEPRECATION

Using the locale method as a setter is deprecated. In the future the object’s locale will become immutable. Please see issue #38 for details and to submit comments or concerns.

DESCRIPTION

Localized decimal formatter using the Unicode Common Locale Data Repository (CLDR).

Methods

All methods return character strings, not encoded byte strings.

format

Accepts a number and returns a formatted decimal, localized for the current locale.

at_least

Accepts a number and returns a formatted decimal for at least the supplied number.

    say $decf->at_least(100);  # '100+'
range

Accepts two numbers and returns a formatted range of decimals.

    say $decf->range(1, 10);  # '1–10'

Attributes

The common attributes locale, default_locale, numbering_system, decimal_sign, group_sign, plus_sign, minus_sign, and cldr_version are described under common attributes in CLDR::Number. All attributes described here have defaults that change depending on the current locale. All string attributes are expected to be character strings, not byte strings.

pattern

Examples: #,##0.### for root, en, and most locales; #,##,##0.### for hi, bn, en-IN, and other locales of the Indian subcontinent

minimum_integer_digits

Examples: 1 for all locales

minimum_fraction_digits

Examples: 0 for all locales

maximum_fraction_digits

Examples: 3 for root and almost all locales

primary_grouping_size

Examples: 3 for root and almost all locales

Not used when value is 0.

secondary_grouping_size

Examples: 0 for root, en, and most locales; 2 for hi, bn, en-IN, and other locales of the Indian subcontinent

Not used when value is 0.

rounding_increment

Examples: 0 for all locales

0 and 1 are treated the same.

infinity

Examples: (infinity) for root, en, and almost all locales

nan

Examples: NaN for root, en, and most locales; many other variations for individual locales like не число for ru and 非數值 for zh-Hant

SEE ALSO

CLDR::Number

AUTHOR

Nova Patch <patch@cpan.org>

This project is brought to you by Shutterstock. Additional open source projects from Shutterstock can be found at code.shutterstock.com.

COPYRIGHT AND LICENSE

© 2013–2015 Shutterstock, Inc.

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