LoginSignup
1

More than 5 years have passed since last update.

CakeNumberの通貨での表示設定

Posted at

PHPのナンバーフォーマットでは


// viewでの記載例(あんまりかっこよくない)
echo '¥' . number_format($number);

CakephpであればCakeNumberでは

// viewでの記載例
echo $this->Number->currency($number);


// view以外での記載方法
App::uses('CakeNumber', 'Utility');
echo CakeNumber::currency($number);

但しデフォルトではドルと小数点2位までの表示

cakenumberでの表現での注意点

但しデフォルトではドルと小数点2位までの表示にとなるので第2引数で設定を追加
また下記の3つの通貨にのみに対応している

出力時
 EUR  ユーロ €1,234.56
 GBP  ポンド £1,234.56
 USD  ドル $1,234.56
// 記載例(出力結果は上記にて)
<?php echo $this->Number->currency(1234.56, 'EUR'); ?> 
<?php echo $this->Number->currency(1234.56, 'GBP'); ?> 
<?php echo $this->Number->currency(1234.56, 'USD'); ?> 

円の表示は?

上記の3通貨のみしか対応していないので別途の対応で表示することが出来る

// viewでの書き方
$this->Number->addFormat('JPY', array('before' => '¥ '));

各ビューに書いてまわるのはめんどくさい

AppControllerに下記を適宜記載


  App::uses('CakeNumber', 'Utility');
  CakeNumber::addFormat('JPY', array('before' => '¥'));

出典元
https://book.cakephp.org/2.0/ja/core-utility-libraries/number.html

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1