2011-12-18 9 views
5

Örneğin $num='7,57,800';PHP Para Biçimi?

$number değerini 7.57 Lakhs olarak nasıl görüntüleyebilirim?

+0

dize money_format (string $ biçimi, şamandıra $ numarası)? – PurplePilot

+1

Açıklama için: '7,57,800' yi '7.57 Lakhs' 'a dönüştürmeye mi çalışıyorsunuz? Veya "757800" ile "7,57,800" arasında dönüştürmeye mi çalışıyorsunuz? –

cevap

5

İşte işlevi var:

function formatInIndianStyle($num){ 
    $pos = strpos((string)$num, "."); 
    if ($pos === false) { 
     $decimalpart="00"; 
    } 
    if (!($pos === false)) { 
     $decimalpart= substr($num, $pos+1, 2); $num = substr($num,0,$pos); 
    } 

    if(strlen($num)>3 & strlen($num) <= 12){ 
     $last3digits = substr($num, -3); 
     $numexceptlastdigits = substr($num, 0, -3); 
     $formatted = makeComma($numexceptlastdigits); 
     $stringtoreturn = $formatted.",".$last3digits.".".$decimalpart ; 
    }elseif(strlen($num)<=3){ 
     $stringtoreturn = $num.".".$decimalpart ; 
    }elseif(strlen($num)>12){ 
     $stringtoreturn = number_format($num, 2); 
    } 

    if(substr($stringtoreturn,0,2)=="-,"){ 
     $stringtoreturn = "-".substr($stringtoreturn,2); 
    } 

    return $stringtoreturn; 
} 

function makeComma($input){ 
    if(strlen($input)<=2) 
    { return $input; } 
    $length=substr($input,0,strlen($input)-2); 
    $formatted_input = makeComma($length).",".substr($input,-2); 
    return $formatted_input; 
} 
0

Kontrol bu İşte http://archive.plugins.jquery.com/project/numberformatter

Plugin- Bu eklenti kullanmak istiyorum nasıl bir örnek.

$("#salary").blur(function(){ 
$(this).parseNumber({format:"#,###.00", locale:"us"}); 
$(this).formatNumber({format:"#,###.00", locale:"us"}); 
}); 

Sadece Yerel ayarın .. fazla örnek ve bilgi için

ziyaret-http://code.google.com/p/jquery-numberformatter/

Benim örnek kaynağı: http://code.google.com/p/jquery-numberformatter/

Umut bu :)

0

İşte yardımcı başka bir şeydir referans için sadece çözüm:

<?php 
# Output easy-to-read numbers 
# by james at bandit.co.nz 
function bd_nice_number($n) { 
    // first strip any formatting; 
    $n = (0+str_replace(",","",$n)); 

    // is this a number? 
    if(!is_numeric($n)) return false; 

    // now filter it; 
    if($n>1000000000000) return round(($n/1000000000000),1).' trillion'; 
    else if($n>1000000000) return round(($n/1000000000),1).' billion'; 
    else if($n>1000000) return round(($n/1000000),1).' million'; 
    else if($n>1000) return round(($n/1000),1).' thousand'; 

    return number_format($n); 
} 
?> 
0
<?php //Credits are going to: @Niet-the-Dark-Absol 

    function indian_number_format($num){ 
     $num=explode('.',$num); 
     $dec=(count($num)==2)?'.'.$num[1]:'.00'; 
     $num = (string)$num[0]; 
     if(strlen($num) < 4) return $num; 
     $tail = substr($num,-3); 
     $head = substr($num,0,-3); 
     $head = preg_replace("/\B(?=(?:\d{2})+(?!\d))/",",",$head); 
     return $head.",".$tail.$dec; 
    } 
?> 

Soru: php manuel stackoverflow.com/questions/10042485