• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • NumberFormatter::setAttribute()

    numfmt_set_attribute

    (PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)

    Set an attribute

    说明

    面向对象风格
    publicNumberFormatter::setAttribute(int $attr,int $value): bool
    过程化风格
    numfmt_set_attribute(NumberFormatter$fmt,int $attr,int $value): bool

    Set a numeric attribute associated with the formatter. An example of a numeric attribute is the number of integer digits the formatter will produce.

    参数

    $fmt

    NumberFormatter object.

    $attr

    Attribute specifier - one of the numeric attribute constants.

    $value

    The attribute value.

    返回值

    成功时返回TRUE,或者在失败时返回FALSE

    范例

    numfmt_set_attribute() example

    <?php
    $fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
    echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
    echo numfmt_format($fmt, 1234567.891234567890000)."\n";
    numfmt_set_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS, 2);
    echo "Digits: ".numfmt_get_attribute($fmt, NumberFormatter::MAX_FRACTION_DIGITS)."\n";
    echo numfmt_format($fmt, 1234567.891234567890000)."\n";
    ?>
    

    OO example

    <?php
    $fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
    echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
    echo $fmt->format(1234567.891234567890000)."\n";
    $fmt->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
    echo "Digits: ".$fmt->getAttribute(NumberFormatter::MAX_FRACTION_DIGITS)."\n";
    echo $fmt->format(1234567.891234567890000)."\n";
    ?>
    

    以上例程会输出:

    Digits: 3
    1.234.567,891
    Digits: 2
    1.234.567,89
    

    参见

    • numfmt_get_error_code() Get formatter's last error code
    • numfmt_get_attribute() Get an attribute
    • numfmt_set_text_attribute() Set a text attribute