PHP で数値をドルの金額にフォーマットする

John Wachira 2023年1月30日
  1. PHP で number_format 関数を使用して数字をドルに変換する
  2. PHP で NumberFormatter::formatCurrency 関数を使用して数値をドルの金額にフォーマットする
  3. PHP で正規表現を使用して数値をドルの金額にフォーマットする
  4. PHP で数値をドルの金額に手動でフォーマットする
PHP で数値をドルの金額にフォーマットする

このチュートリアル記事では、例を使用して、PHP で数値をドルにフォーマットするさまざまな方法について説明します。これらには以下が含まれます:

  • number_format
  • NumberFormatter::formatCurrency
  • Regular expressions
  • Manual format

また、money_format 関数が使用されなくなった理由についても説明します。

PHP で number_format 関数を使用して数字をドルに変換する

number_format 関数を使用して、小数点以下の桁数と通貨タイプを追加しながら、グループ化された千の値を配置します。

この関数には 4つのパラメーターがあります。

number_format(NUMBER, DECIMAL DIGITS, THOUSANDS SEPARATOR, DECIMAL SEPARATOR)
  • 数値はフォーマットする値です。
  • 小数点以下の桁数は、小数点以下の桁数を指定します。
  • 小数点記号は、小数点に使用する文字列を識別します。
  • 千の区切り文字は、千の区切り文字として使用される文字列を示します。

1000 区切り文字パラメーターが使用されている場合、コードが機能するには、他の 3つがそれに付随している必要があることに注意してください。

コード例:

<?php

//  NUMBER
$amount = 123.45;

//  TO USD - $123.45
$usd = "$" . number_format($amount, 2, ".");
echo $usd;
?>

出力:

$123.45

PHP で NumberFormatter::formatCurrency 関数を使用して数値をドルの金額にフォーマットする

これは、異なる通貨を示す文字列に数値をフォーマットするための最新の、そして間違いなく最も簡単な方法です。

php.iniextension=intl が有効になっていることを確認します。

覚えておくべき 3つのパラメータがあります。

  • NumberFormatter オブジェクトである Formatter。
  • 金額。通貨の数値です。
  • ISO 4217 は、使用する通貨を規定しています。

コード例:

<?php
// NUMBER
$amount = 123;

// TO USD - $123.00
$fmt = new NumberFormatter("en_US",  NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>

出力:

$123.00

例 2:

<?php
// NUMBER
$amount = 123.456;

// TO USD - $123.46
$fmt = new NumberFormatter("en_US",  NumberFormatter::CURRENCY);
$usd = $fmt->formatCurrency($amount, "USD");
echo $usd;
?>

出力:

$123.46

PHP で正規表現を使用して数値をドルの金額にフォーマットする

この方法は、ワームの缶全体です。その詳細に入ると、混乱するだけです。

この方法では、選択した通貨記号を追加しながら、数値を数千に配置します。

例を見てみましょう:

<?php
// NUMBER
$amount = 0.13;

// REGULAR EXPRESSION
$regex = "/\B(?=(\d{3})+(?!\d))/i";
$usd = "$" . preg_replace($regex, ",", $amount);
echo $usd;
?>

出力:

$0.13

PHP で数値をドルの金額に手動でフォーマットする

この方法は、残忍な力で錠を選ぶのと同じです。この方法では、任意の形式を使用できるという利点があります。

例を見てみましょう:

<?php
// FOR A DOLLAR CURRENCY
function curformat ($amount) {
  //  SPLIT WHOLE & DECIMALS
  $amount = explode(".", $amount);
  $whole = $amount[0];
  $decimal = isset($amount[1]) ? $amount[1] : "00" ;

  //  ADD THOUSAND SEPARATORS
  if (strlen($whole) > 3) {
    $temp = ""; $j = 0;
    for ($i=strlen($whole)-1; $i>=0; $i--) {
      $temp = $whole[$i] . $temp;
      $j++;
      if ($j%3==0 && $i!=0) { $temp = "," . $temp; }
    }
    $whole = $temp;
  }

  //  RESULT
  return "\$$whole.$decimal";
}

//  UNIT TEST
echo curformat(100); // $100.00

出力:

$100.00

上記のメソッドは、数値をドルとセントを示す文字列にフォーマットする必要があります。

money_format と呼ばれる別のメソッドがありますが、Windows では機能しません。この機能は廃止されたため、使用しないことを強くお勧めします。

著者: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn