第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP Decimal128 字符串格式化

PHP Decimal128 字符串格式化

PHP
開滿天機(jī) 2022-07-29 16:48:50
我使用 MongoDB 將值存儲為 Decimal128 并使用 PHP 和 Twig 來顯示它們。我的問題是輸出格式有千位分隔符嗎?我嘗試過使用 number_format,但這不起作用,因?yàn)樵撝凳亲址皇?int 或 float。我不想鍵入轉(zhuǎn)換值,因?yàn)槲蚁M撝凳蔷_的。例子:1000.382 = 1,000.38299.01    = 99.011900000  = 1,900,000我寫了一個函數(shù)來做到這一點(diǎn)。仍然想知道是否有更好的方法來做到這一點(diǎn)。<?php$n = '12345.001';echo fNumString($n);function fNumString ($number_string) {    $ex_num = explode('.', $number_string);    $whole_num_len = strlen($ex_num[0]);    $formated = '';    if ($whole_num_len > 3) {        for ($i = 0; $i < $whole_num_len; $i++) {            $formated .= $ex_num[0][$i];            if ((($whole_num_len - ($i + 1)) % 3) == 0 && $whole_num_len != ($i + 1))                $formated .= ',';        }    } else        $formated = $ex_num[0];    if (count($ex_num) == 2)        $formated .= '.' . $ex_num[1];    return $formated;}
查看完整描述

1 回答

?
慕蓋茨4494581

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)值)。


查看完整回答
反對 回復(fù) 2022-07-29
  • 1 回答
  • 0 關(guān)注
  • 161 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號