<?
setlocale(LC_MONETARY, 'tr_TR');
######################
$tutar = "2179.40"; $kur = "3.8597";
######################
$hesap = ($tutar * "1.00") / $kur;
echo "Yuvarlanmadı : $hesap<br>";
$hesap = money_format('%.2n', $hesap);
$hesap = str_replace("L ", "", $hesap);
echo "Yuvarlandı: ".$hesap;
?>Merhaba arkadaşlar döviz hesaplama konusunda işin içinden çıkamadık nasıl bir yol izlemem gerekiyor yada nerede hata yapıyoruz çözemedik. "2.179.40 TL" kac dolar eder, "Dolar kuru:3.8597" Sonuç olarak 564,655284089437$ ediyor bu sonucu tekrar 3.8597 ile çapıyorum 2.179.4 TL cıkartıyor. asıl sorum bu 564,655284089437$ kısmı yuvarlayıp virgulden sonra ,65 gibi iki haneli olacak sekilde ayarlayıp aynı sorunucu almak istiyorum (Ben 2 haneye kadar yuvarlıyorum ama bu genel toplamı bozuyor.) Yuvarladığımda hep 2 kurus fazla yada eksık cıkıyor. Sonuç aynı çıkıcak şekilde nasıl yaparım, yardımcı olursanız sevınırım..
Yuvarlama işlemi yaptığında aslında değişkeni zaten değiştirmiş oluyorsun, doğal olarak geri adımı izlediğinde farklı bir sonuç çıkıyor. sağlama yapabilmek yani izlediğin adımları geri takip edip aynı sonuca ulaşmak içi, bölünmüş veriyi olduğu gibi saklanam lazım. eğer bu veriyi db de tutuyorsan float olarak olduğu gibi kaydet, gösterimde sadece yuvarlayarak göster. bu sayede sağlama yapabilirsin.