Ürün fiyatının tam sayı olarak girilmemesi durumları ile ilgili çok sorunlar yaşamaya başladım. Epey bir araştırma sonucu bir sonuca varamayınca amatörce aşağıdaki şekilde bir şeyler yaptım. Sonuç olarak virgül koyması gereken yere nokta koyan, nokta yerine virgül koyan kullanıcı sorunlarını aştım. Ancak bunun muhakkak daha mantıklı ve kolay yolu vardır diye düşünüyorum 🙂
`
<?php
//$trnPrice = "1.234.56";
//$trnPrice = "1,234,56";
//$trnPrice = "1.234,56";
//$trnPrice = "1,234.56";
$trnValue = "1.234,56";
$trnCount = 0;
$trnPriceArray = "";
$trnNewPrice = "";
function clearDouble($trnValue="",$trnString=",")
{
$trnReturn = "";
if($trnValue!="")
{
$trnPriceArray = explode($trnString,$trnValue);
$trnCount = count($trnPriceArray);
$trnEndIndex= $trnCount-1;
if($trnCount>0)
{
for ($i=0; $i < $trnCount-1; $i++)
{
$trnNewPrice = $trnNewPrice.$trnPriceArray[$i];
}
echo $trnNewPrice.".".$trnPriceArray[$trnEndIndex];
}
return $trnReturn;
}
else
{
return false;
}
}
if(strstr($trnValue,",")==true && strstr($trnValue,".")==true)
{
//echo "İkisi de var: ";
$trnPrice = str_replace(".","",$trnValue);
$trnPrice = clearDouble($trnPrice,",");
}
else if(strstr($trnValue,",")==true)
{
//echo "Virgül var: ";
$trnPrice = clearDouble($trnValue,",");
}
else if(strstr($trnValue,".")==true)
{
//echo "Nokta var: ";
$trnPrice = clearDouble($trnValue,".");
}
else
{
$trnPrice = $trnPrice;
}
echo $trnPrice;
?>
`