php - price showing with more then 2 decimals? -


my query results in 6 decimal number (eg 3500,000000 instead of 3500,00). numbers 2 decimals (eg. € 35,95) must show last 2 decimals, otherwise without decimals (eg. € 60)

i hv try code without success (see code 2)

this code 1 use shows result 6 decimals eg. € 35,000000

<?php     $query = 'select `jr_prijs` `zmuvr_jreviews_content` contentid = '.$item->getid();     $db->setquery( $query );     $result = $db->loadresult();     print_r($result); 

and code 2:

<?php function format_price($value) { return preg_replace( '/[.,]0{2,}/', '', strval($value) ); } ?>   <?php $query = 'select `jr_prijs` `zmuvr_jreviews_content` contentid = '.$item->getid(); $db->setquery( $query ); $result = $db->loadresult(); print_r  (format_price  $result); ?>  

any suggestions?

if always want 2 decimals, cast value decimal(x, 2):

select cast(jr.prijs decimal(10, 2)) . . . 

if want 2 decimals , none @ others, need convert value string:

select format(jr.prijs,               (case when jr.prijs - floor(jr.prijs) not between 0.005 , 0.995                     0 else 2                end)               ) 

Comments