2011-02-01 6 views
10

यह एक सौंदर्य समस्या के और अधिक है, अगर मैं PHP में दो की कीमतों उत्पादन के लिए किए गए:पट्टी मूल्य दशमलव जब आवश्यक

(प्रथम 123.45 किया जा रहा है और दूसरे की जा रही 123.00)

वहाँ एक रास्ता है मैं आवश्यक होने पर दूसरी कीमत से .00 हटा सकते हैं (दिखाएं कि यह केवल = 123 के रूप में दिखाई देता है) लेकिन यदि कीमत के लिए 0 से अधिक संख्याएं हैं (पहली कीमत की तरह) तो यह तब भी रहेगा जब यह पहली कीमत है?

कोई भी मदद महान होगी, धन्यवाद!

टीसी

उत्तर

19

किस बारे में ...

$value = preg_replace('~\.0+$~','',$value); 
+0

मुझे वास्तव में यह पसंद है। छोटे और संघनित, अच्छी नौकरी। –

+0

सादगी पर बहुत अच्छा, कुडोस! – TronCraze

+0

सुरुचिपूर्ण! इसे प्यार करना। – jeffkee

1
function round2($decimal,$places = 2){ 
    $decimal = round($decimal,$places); 
    if (floor($decimal)==$decimal) 
    return (string)floor($decimal); 
    return $decimal; 
} 
echo round2(123.45)."<br />".round2(123.00); 

Something like that?

+0

शानदार, यह पूरी तरह से ब्रैड काम करता है! – TronCraze

3

आप उपयोग करना (धीमा) नियमित अभिव्यक्ति नहीं करना चाहते हैं, तो आप str_replace उपयोग कर सकते हैं:

$value = str_replace('.00', '', $value); 

नोट: मुझे लगता है कि आप '123.10' को '123.1' में बदलना नहीं चाहते हैं, तो आप केवल डबल शून्य को हटाना चाहते हैं, है ना?

संबंधित मुद्दे