php para birimi kontrolü
Merhabalar benim ürünler tablonca item_price double(9.2) strandartına gore mysql e ekletiyorum
bunu kontrol ettirmem gerekiyor if ile fakat aradığım sonucu bulamadım. bu konuda bilgi sahibi olan
ve ya kewyord bilen var ise size zahmet yardımcı olablir mi ?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
<?php
//explode ile parçalamak için string olmalı.
//number_format ile yuvarlayıp kullanırsan string olarak çıktı veriyor.
//$number2 değişkeninde kullandığım yöntemi kullanırsan string yapmana gerek yok.
$number1 = (string)55555555.46;
$number1 = explode(".", $number1);
if (strlen($number1[0])>9 || strlen($number1[1])>2) {
echo "hata var"."<br>";
} else {
echo "hata yok"."<br>";
}
// iki basamklı hale getirirsen `strlen($number[1])>2` koşulunu kullanmana gerek yok.
$number2 = (string)5555555555.465;
$number2 = explode(".", number_format($number2, 2, '.', ''));
if (strlen($number2[0])>9) {
echo "hata var"."<br>";
} else {
echo "hata yok"."<br>";
}
<?php
function checkPrice($price)
{
$price = (float) $price;
if ($price > 0 && $price < 9999999.99) {
return $price;
} else {
return false;
}
}
// kullanım örneği
$price = checkPrice(123.45);
if ($price) {
echo $price;
} else {
echo 'Hatalı fiyat';
}
// sonuç: 123.45