1 回答

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個贊
你可以:
explode
使用,將數(shù)字字符串拆分為整數(shù)和小數(shù)部分使用反轉(zhuǎn)整數(shù)部分
strrev
,使用 , 在該整數(shù)部分中每 3 位添加一個千位分隔符
preg_replace
,使用反轉(zhuǎn)整數(shù)部分
strrev
,返回它與小數(shù)分隔符和小數(shù)部分連接
代碼:
function fNumString(string $numberString, string $decimalPoint = '.', string $thousandsSeparator = ','): string
{
[$integerPart, $decimalPart] = array_pad(explode('.', $numberString, 2), 2, null);
$integerPart = strrev(preg_replace('/\d{3}(?=\d)/', '\0' . $thousandsSeparator, strrev($integerPart)));
return $integerPart . ($decimalPart ? $decimalPoint . $decimalPart : '');
}
演示:https ://3v4l.org/m3jUC
注意:您可以省略 的最后兩個參數(shù)number_format,為了清楚起見,我喜歡保留它們(以防它們稍后由于某種原因更改默認(rèn)值)。
- 1 回答
- 0 關(guān)注
- 161 瀏覽
添加回答
舉報(bào)