Php 小数点后四舍五入或四舍五入

Php 小数点后四舍五入或四舍五入,php,function,Php,Function,如果我的$number等于4853.14248325523 function formatMoney($number) { $replaced = preg_replace('/(-?\d+)(\d\d\d)/', '$1,$2', $number); if ($replaced != $number) { $number = $replaced; } return '$'.$number; } 我的函数for

如果我的
$number
等于
4853.14248325523

function formatMoney($number) {
        $replaced = preg_replace('/(-?\d+)(\d\d\d)/', '$1,$2', $number);
        if ($replaced != $number) {
            $number = $replaced;
        } 
    return '$'.$number;
} 
我的函数
formatMoney()
将返回值
$4853.14248325523

function formatMoney($number) {
        $replaced = preg_replace('/(-?\d+)(\d\d\d)/', '$1,$2', $number);
        if ($replaced != $number) {
            $number = $replaced;
        } 
    return '$'.$number;
} 

但是,我希望函数返回值
$4853.14

无需使用正则表达式,php内置函数来处理此问题:

$number=4853.14248325523;

echo '$'.number_format($number,2, '.', ',');
以上返回的
$4853.14

手动页面

PHP有一个非常好的功能:

<?php

$number=4853.14248325523;
setlocale(LC_MONETARY, 'en_US');
echo money_format('%n', $number) . "\n";

什么是
preg\u replace(“/(?\d+)(\d\d\d)/”、“$1、$2”、“$number”)该怎么办?您是否试图使用此设置数千个分隔符?如果是这样的话,看看使用INSTEADE,这正是我想要做的。我会将我的资料更新为number_format();这不允许将我的值更改为$amount和十进制。关于
货币格式()
?谢谢,学到了一些东西:)