簡體   English   中英

PHP貨幣格式尾隨零

[英]PHP Currency formatting trailing zeros

是否可以使用 PHP 格式的貨幣值,例如:$200 將輸出為:$200(不帶小數),但對於 $200.50 這樣的數字,它會正確輸出 $200.50 而不是 $200.5?

謝謝! :)

$num_decimals = (intval($amt) == $amt) ? 0 :2;
print ("$".number_format($amt,$num_decimals);

如果您不介意自己處理貨幣,您可以簡單地在數字上使用以下內容,以獲得正確的輸出。

此解決方案將始終輸出尾隨零(xx.x0 或 xx.00,具體取決於提供的數字)

$number = 1234
sprintf("%0.2f",$number);
// 1234.00

自定義函數如何相應地處理這種情況:

function my_number_format($number) {
    if(strpos($number, '.')) {
        return number_format($number, 2);
    } else {
        return $number;
    }
}

您可以使用number_format來執行此操作。

示例:

$Amount = 200.00;
echo "$" . number_format($Amount); //$200

有幾種方法。 可能最普遍支持和推薦的方法是 sprintf。

sprintf("%01.2f", "200.5"); //200.50
sprintf("%01.2f", "10"); //10.00

number_format 也很好,並且有各種選項,如果需要,它會添加千位分隔符等。

還有一個 money_format 函數,但它在 Windows 服務器上不受支持。

暫無
暫無

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

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