php money_format

4 Cevap php

i fiyat sonunda 0,00 çıkarmak için çalışıyorum

 function getMoney($mon) {
  setlocale(LC_MONETARY, 'en_US');
  return money_format('%.2n', $mon);
 }

Teşekkür ederim,

4 Cevap

Money_format () fonksiyonu bu sürümünü kullanmayı deneyin:

money_format('%.0n', $mon);

Money_format üzerinde PHP belgelerine göre (http://us.php.net/manual/en/function.money-format.php), biçim dizesi '% .2 n' yapma hayır, ondalık virgülün sağındaki ondalık noktası ile görüntülenecek sayı ve 2 ondalık basamak zorlar sent ne olursa olsun, ve daha sonra yerelin ulusal para birimi biçimini göre numarasını biçimlendirmek.

'% .0 N' ile bu yerine, her zaman paranın sonunda ondalık kaldıracaktır. Tabii ki, bu sonunda sadece, tüm değerler için 0,00 olan ondalık değil kaldıracaktır. Eğer koşullu 0,00 kaldırmak istiyorsanız, $ mon değeri kesirli bölümü olup olmadığını görmek için kontrol edin ve eğer öyleyse, '% 0.2N' ile görüntüleyebilirsiniz.

Bu kod asking '%.2n' ile görüntülenecek sent için, ilk inceleme üzerine görünüyor, ama ben PHP function reference aşağıdaki linki fark set_locale() Debian hakkında bir uyarı içerir.

Debian kullanmaya değil, değil mi?

Kontrol edin PHP manual:

Sen gibi doğru hassasiyet ayarlamanız gerekir:

function getMoney($mon) {
  setlocale(LC_MONETARY, 'en_US');
  return money_format('%.0n', $mon);
 }

Yani sent kaldırmak istiyorum, ama hiçbir cent sadece varsa? Hızlı ve kirli regex her zaman var:

preg_replace("/\\.00^/", "", money_format('%.2n', $mon))