दिलचस्प पोस्ट
इनलाइन जावास्क्रिप्ट (HTML में) कैसे काम करता है? मैं PHP में एरेज़ और डेटा कैसे सॉर्ट कर सकता हूँ? स्ट्रिंग से होस्टनाम नाम निकालें Photos.app से अंतिम चित्र प्राप्त करें? awk या sed के साथ एक कॉलम हटाएं php exec कमांड (या समान) परिणाम के लिए इंतजार नहीं करने के लिए क्या "प्रोटोकॉल … केवल एक सामान्य बाधा के रूप में इस्तेमाल किया जा सकता है क्योंकि इसकी स्वयं या संबद्ध प्रकार की आवश्यकता है" इसका मतलब है? Server.MapPath और HostingEnvironment.MapPath में अंतर क्या है? सेट इन्वर्नल कॉलबैक केवल एक बार चलाता है मैं कोड-पीछे से एक नियंत्रण टेम्पलेट के एक तत्व का उपयोग कैसे करूं? यादृच्छिक सूची से कोई आइटम कैसे चुनें? जावा में मुख्य थ्रेड स्टॉप कब करता है? "एबीसीडी" क्यों होता है .स्ट्रास्ट्स ("") सच कहां वापस आती हैं? खोज / फिल्टर बॉक्स में निर्मित किए गए jqGrid डेटा को फ़िल्टर करने के तरीके HTML में एक लिंक से रेखांकन कैसे निकालें?

PHP: 2 दशमलव स्थानों पर नंबर दिखाएं

2 दशमलव स्थानों पर PHP स्ट्रिंग को गोल करने का सही तरीका क्या है?

$number = "520"; // It's a string from a DB $formatted_number = round_to_2dp($number); echo $formatted_number; 

आउटपुट "520.00" है;

कैसे फ़ंक्शन round_to_2dp() परिभाषा होना चाहिए?

वेब के समाधान से एकत्रित समाधान "PHP: 2 दशमलव स्थानों पर नंबर दिखाएं"

आप number_format () का उपयोग कर सकते हैं:

 return number_format((float)$number, 2, '.', ''); 

उदाहरण:

 $foo = "105"; echo number_format((float)$foo, 2, '.', ''); // Outputs -> 105.00 

यह फ़ंक्शन स्ट्रिंग देता है

वैकल्पिक रूप से,

 $padded = sprintf('%0.2f', $unpadded); // 520 -> 520.00 

round() उपयोग करें round() अगर आप केवल फ्लोट प्रारूप में नंबर की उम्मीद कर रहे हैं तो उपयोग करें, अन्यथा कोडमन्न्सी द्वारा दिए गए उत्तर के रूप में number_format का उपयोग करें):

 echo round(520.34345,2); // 520.34 echo round(520, 2); // 520 

मैनुअल से:

विवरण:

 float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] ); 

निर्दिष्ट precision लिए val के गोल val (दशमलव बिंदु के बाद अंकों की संख्या) देता है। परिशुद्धता नकारात्मक या शून्य भी हो सकती है (डिफ़ॉल्ट)

उदाहरण # 1 round() उदाहरण

 <?php echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2); // 5.05 echo round(5.055, 2); // 5.06 ?> 

उदाहरण # 2 मोड उदाहरण

 <?php echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10 echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9 echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10 echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9 echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9 echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8 echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8 echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9 ?> 

प्रयत्न:

 $number = 1234545454; echo $english_format_number = number_format($number, 2); 

आउटपुट होगा:

 1,234,545,454.00 

http://php.net/manual/en/function.round.php

जैसे

 echo round(5.045, 2); // 5.05 echo round(5.055, 2); // 5.06 

PHP संख्या- स्वरूप () फ़ंक्शन का उपयोग करें

आप php printf या sprintf फ़ंक्शंस का उपयोग कर सकते हैं:

उदाहरण के साथ sprintf :

 $num = 2.12; echo sprintf("%.3f",$num); 

आप एक ही बिना echo चला सकते हैं, ex: sprintf("%.3f",$num);

उत्पादन:

 2.120 

वैकल्पिक रूप से, printf साथ:

 echo printf("%.2f",$num); 

उत्पादन:

 2.124 

मैं अपना खुद का बना देता हूं

 $decimals = 2; $number = 221.12345; $number = $number * pow(10,$decimals); $number = intval($number); $number = $number / pow(10,$decimals); 

round_to_2dp एक उपयोगकर्ता परिभाषित फ़ंक्शन है, जब तक कि आपने उस फ़ंक्शन के घोषणा को पोस्ट नहीं किया है, तब तक कुछ भी नहीं किया जा सकता

हालांकि, मेरा अनुमान यह number_format($number,2);

 $number = sprintf('%0.2f', $numbers); // 520.89898989 -> 520.89 

यह आपको दशमलव के बाद 2 नंबर देगा।

 $retailPrice = 5.989; echo number_format(floor($retailPrice*100)/100,2, '.', ''); 

यह संख्या को गोल किए बिना 5.98 पर लौटाएगा।

इस मुद्दे को हल करने के लिए एक और अधिक विदेशी तरीका है, 0 का $ right_operand के लिए डमी वैल्यू के साथ bcadd() का उपयोग bcadd()

 $formatted_number = bcadd($number, 0, 2); 
 bcdiv($number, 1, 2) //2 varies for digits after decimal 

यह दशमलव के बाद दो अंकों को प्रदर्शित करेगा

लाभ: यदि आप केवल फ्लोट वैल्यू के बाद दो अंकों को प्रदर्शित करना चाहते हैं और int के लिए नहीं तो इस का उपयोग करें।

 $twoDecNum = sprintf('%0.2f', round($number, 2)); 

राउंडिंग सही संख्या को गोल करती है और स्प्रिंटफ़ इसे दो दशमलव स्थानों पर रखती है, यदि यह गोलाई के बाद केवल 1 दशमलव स्थान होता है।

गोल के बिना संख्या

 $double = '21.188624'; echo intval($double).'.'.substr(end(explode('.',$double)),0,2); 

यदि आप अपनी संपूर्ण प्रोजेक्ट में दो दशमलव अंकों का उपयोग करना चाहते हैं तो आप इसे परिभाषित कर सकते हैं

 bcscale(2); 

फिर निम्नलिखित फ़ंक्शन आपकी इच्छित परिणाम देगा

 $myvalue=10.165445; echo bcadd(0,$myvalue); //result=10.11 

लेकिन अगर आप बीसीएससीएल फ़ंक्शन का इस्तेमाल नहीं करते हैं तो आपको अपनी इच्छानुसार परिणाम प्राप्त करने के लिए कोड लिखना होगा

  $myvalue=10.165445; echo bcadd(0,$myvalue,2); //result=10.11 

अधिक जानने के लिए

फ़ंक्शन का उपयोग करते हुए मुझे दो दशमलव के बाद (डॉट) मिलता है ..

 function truncate_number( $number, $precision = 2) { // Zero causes issues, and no need to truncate if ( 0 == (int)$number ) { return $number; } // Are we negative? $negative = $number / abs($number); // Cast the number to a positive to solve rounding $number = abs($number); // Calculate precision number for dividing / multiplying $precision = pow(10, $precision); // Run the math, re-applying the negative value to ensure returns correctly negative / positive return floor( $number * $precision ) / $precision * $negative; } 

उपरोक्त कार्य से परिणाम:

 echo truncate_number(2.56789, 1); // 2.5 echo truncate_number(2.56789); // 2.56 echo truncate_number(2.56789, 3); // 2.567 echo truncate_number(-2.56789, 1); // -2.5 echo truncate_number(-2.56789); // -2.56 echo truncate_number(-2.56789, 3); // -2.567 

नया सही जवाब

PHP देशी फ़ंक्शन बीसीडीआईवी का उपयोग करें

 echo bcdiv(2.56789, 1, 1); // 2.5 echo bcdiv(2.56789, 1, 2); // 2.56 echo bcdiv(2.56789, 1, 3); // 2.567 echo bcdiv(-2.56789, 1, 1); // -2.5 echo bcdiv(-2.56789, 1, 2); // -2.56 echo bcdiv(-2.56789, 1, 3); // -2.567 

आप PHP दौर () फ़ंक्शन का उपयोग कर सकते हैं

 echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2); // 5.05 echo round(5.055, 2); // 5.06