微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – NumberFormatter总是在浮点后面留下2位数

在这里结束了一点矫枉过正,但我​​似乎无法解决这个问题:

$formatter = new NumberFormatter('lv_LV', NumberFormatter::DECIMAL);

$formatter->setAttribute(NumberFormatter::FRACTION_DIGITS, 2);
$formatter->setAttribute(NumberFormatter::MIN_FRACTION_DIGITS, 2);
$formatter->setAttribute(NumberFormatter::MAX_FRACTION_DIGITS, 2);
$formatter->setAttribute(NumberFormatter::DECIMAL_ALWAYS_SHOWN, 2);

我想在这里实现的是:

+-------+--------+----------+-------+
| INPUT | ACTUAL | EXPECTED | VALID |
+-------+--------+----------+-------+
|  5,77 |   5.77 |     5.77 | YES   |
|  5,20 |    5.2 |     5.20 | NO    |
|  5,00 |      5 |     5.00 | NO    |
|     0 |      0 |     0.00 | NO    |
+-------+--------+----------+-------+

简而言之,我总是希望浮点后面有两位数.

如何使用PHPNumberFormatter实现这一目标?

解决方法:

你应该使用http://php.net/manual/en/function.number-format.php

$var = number_format(553,2);
echo $var

其中553是数字,2是要显示的小数位数.它会输出

553,00

如果这是您所追求的,NumberFormatter有一种处理货币的方法
http://php.net/manual/en/function.money-format.php

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐