簡體   English   中英

PHP格式編號,不使用number_format函數

[英]PHP format number without using number_format function

如標題所示:使用此數字1000000.125685 ,我如何在不使用number_function情況下將其格式化為1,000,000.125 ,因為該函數將小數點舍入?

number_format("1000000.125685",3) //returns 1,000,000.126

如何在不使用number_format的情況下給我想要的任何數字“ Money Format”?

如果在格式化之前在數字上使用floor() ,將得到所需的內容。 問題是floor()分數舍入而不是“四舍五入到小數位數”。 因此,此代碼執行* 1000往返,然后是/ 1000 ...

echo number_format(floor(1000000.125685*1000)/1000,3);

給...

1,000,000.125

要將其包裝為一個以數字和小數位為參數的函數...

function number_format2( float $n, int $dp ): string {
    $multi = pow(10, $dp);
    return number_format(floor($n*$multi)/$multi,$dp);
}
echo number_format2(1000000.125685,4);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM