PHP ile KDV Hesaplama
Merhaba PT.
Bir çalışmamda KDV hesaplama durumu ortaya çıktı. KDV dahil tutardan KDV hariç veya KDV hariçten KDV dahil tutarı hesaplama gibi durumlarda küsürat sorunu yaşıyorum.
Burada yaşadığım problem;
SONUÇ'da görünen kısımdaki 74'den sonraki rakamın büyüklüğüne göre yukarı düzlemek (84,75) veya;
Buradaki SONUÇ da görünen 59'dan sonraki kısım aşağıda olduğu için (85.59) sonucu almak istiyorum.
Burada da anladığım kadarıyla dediğim mantıkta yapıyor işlemi.
ceil()
veya round()
gibi fonksiyonları denedim ama noktadan sonraki kısmı direk yuvarlıyor.
NOT: Ürün fiyatını veritabanında decimal(9,2)
şeklinde tutuyorum.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (5)
Here’s a PHP example for VAT (kdv hesaplama) calculation:
php
Copy
Edit
<?php
function kdvHesapla($amount, $kdvRate) {
$kdvAmount = $amount * ($kdvRate / 100);
$totalAmount = $amount + $kdvAmount;
return [
'kdvAmount' => number_format($kdvAmount, 2, '.', ''),
'totalAmount' => number_format($totalAmount, 2, '.', '')
];
}
// Örnek kullanım
$amount = 100; // Ürün fiyatı
$kdvRate = 18; // KDV oranı (%18)
$result = kdvHesapla($amount, $kdvRate);
echo "KDV Tutarı: " . $result['kdvAmount'] . " TL\n";
echo "Toplam Tutar: " . $result['totalAmount'] . " TL\n";
?>
Bu kod, verilen tutar üzerinden kdv hesaplama işlemini yaparak KDV tutarını ve toplam fiyatı döndürür.
https://kdvhesap.net/
@serkan hocam number_format()
fonksiyonunu biliyorum fakat bu fonksiyon 1000'li rakamlarda noktalama da yapıyor. İşin özünde yukarda belirttiğim gibi decimal(9,2) şeklinde veritabanında tutarken zaten kendi istediğim işlemi yapıyor. Sepette ve sipariş detayında doğru rakamları gösterebilmek için aslında bu çabaya girdim. number_format()
ile çözeceğim gibi görünüyor. Teşekkür ederim. :)