Virgülden numarası ile yerine nokta (php ve sql)

4 Cevap php

Ben fiyatları ve ondalık ekleyerek biraz uygulama yapıyorum. Nokta ondalık ile kullanmak için normal, ama nasıl (yerine 543,35 ve 543,35) girişi olarak virgül ile ondalık sayı yazabilir ve sonra belki (mysql) veritabanına noktası ile değiştirmek? Sonra virgül ile veritabanı oluşturmak geri yazdırabilirsiniz. Nedeni (,) fazla noktadan daha Finlandiya'da kullanıldığı virgül (.) Yazma ondalık sayılar zaman.

Thank you very much!

Samuel

4 Cevap

Eğer sql sonunda bir şey yapmak gerekmez. Eğer (bu PHP4/PHP5 varsayar) php ondalık değer biçimlendirmek istediğiniz: üçüncü parametre $ dec_point Set ','

// string number_format ( float $number , int $decimals , string $dec_point , string $thousands_sep )
<?php

$number = 1234.56;

// French notation
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// english notation without thousands seperator
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

source: http://php.net/manual/en/function.number-format.php

Şerefe!

PHP number_format function ne ihtiyaç vardır:

number_format(5.50, 2, ',');

... Hile yapmak gerekir.

Dedi oldu gibi, bir float olarak değerini kaydetmek ve daha sonra görüntülemek için biçimlendirmek için en iyisidir. Daha önce önerilen number_format () alternatif olarak, bu sizin için önemli ise () http://us.php.net/manual/en/function.money-format.php Bu olsa windows ortamında çalışmıyor money_format deneyebilirsiniz.

Hayır, aritmetik işlemler için bir ondalık ayırıcı olarak virgül kullanarak desteklenmiyor. Istediğiniz gibi filtre girişi ve bir süre ile virgül değiştirin, sonra çıkış biçimi.