2011-09-21 5 views
12

मैं इस phpमैं कैसे दो शून्य

<?php echo round($price, 2); ?> 

और $price शायद 1.0000

मैं चाहता हूँ 1.00 है रखने के साथ php में दौर है, लेकिन मैं केवल 1

किसी भी विचार प्राप्त

+6

आप बिल्कुल कि पढ़ना चाहिए: http://www.php.net/manual/en/function.sprintf .php – j0ker

+0

@ j0ker: कृपया मुझे बताएं कि स्प्रिंटफ को गोल करने के साथ क्या करना है। –

+5

@FakeCodeMonkeyRashid 'sprintf ("%। 3f ", 3.1415) ==>" 3.142 "' – nickf

उत्तर

24

निम्नलिखित printf() कॉल आपके लिए काम करना चाहिए:

<?php printf("%.2f", $price); ?> 

इस वाक्यविन्यास के लिए दस्तावेज़ sprintf() पृष्ठ पर सबसे अच्छा वर्णन किया गया है।

+0

मैं यह देखने में असफल रहा कि कोई गोलिंग कहाँ होती है। –

+3

@FakeCodeMonkeyRashid यह कॉल में 'राउंड()' के लिए होता है और फिर इसे प्रिंट करते समय, यह बिल्कुल 2 पिछला दशमलव तय करने के लिए स्वरूपित होता है। – nickf

+2

@nickf: टिम उस पर संक्षेप में छूना चाहिए था। क्या होता है यदि कोई पीएचपी दस्तावेज ऑफ़लाइन है तो कोई इस जवाब को देखता है? –

7

number_format आपकी सबसे अच्छी शर्त है।

string number_format (float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',') 

उदाहरण:

<?php echo number_format(1.0000, 2, '.', ','); ?> 
+0

मैं यह देखने में असफल रहा कि कोई गोल स्थान कहाँ होता है। –

+0

@FakeCodeMonkey दूसरे पैरामीटर रैशिड ?? – nickf

+0

@nickf: दरअसल। –

43

number_format काम करता है:

echo number_format($price, 2);

+1

बस जागरूक रहें कि (AFAIK) यह लोकेल जागरूक है, और कुछ सेटअप के साथ यह '1,00' आउटपुट हो सकता है - हालांकि मुझे यहां गलत माना जा सकता है। – nickf

+0

आमेन भाई। । – khaverim

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