मैं इस कोडफ्लोट और डबल में PHP के बीच अंतर?
$vad = 1.1;
print gettype($vad);
var_dump($vad);
इस वसीयत उत्पादन:
double
float(1.1)
तो यह डबल है या php में तैरने लगते हैं?
मैं इस कोडफ्लोट और डबल में PHP के बीच अंतर?
$vad = 1.1;
print gettype($vad);
var_dump($vad);
इस वसीयत उत्पादन:
double
float(1.1)
तो यह डबल है या php में तैरने लगते हैं?
PHP में कोई अंतर नहीं है। float
, double
या real
समान डेटाटाइप हैं।
सी स्तर पर, सब कुछ double
के रूप में संग्रहीत किया जाता है।
वास्तविक आकार अभी भी प्लेटफ़ॉर्म-निर्भर है।
अधिक जानकारी के लिए मैनुअल देखें:
http://www.php.net/manual/en/language.types.float.php
पीएचपी के लिए, वे एक ही हैं। http://www.php.net/manual/en/language.types.float.php:
Floating point numbers (also known as "floats", "doubles", or "real numbers") can be specified using any of the following syntaxes: [...]
भ्रामक हिस्सा क्यों GetType (जो आप उपयोग नहीं करना चाहिए, वैसे भी) "फ्लोट" की "डबल" के बजाय रिटर्न है। जवाब http://de2.php.net/manual/en/function.gettype.php है:
" double " (for historical reasons "double" is returned in case of a float , and not simply "float")
विंडोज पर पीएचपी 7.0.6 के रूप में, xdebug बिना इस आदेश की तुलना:
$ php -r 'var_dump(28.4);'
float(28.4)
और xdebug साथ:
$ php -r 'var_dump(28.4);'
Command line code:1:
double(28.4)
नोट कि यह केवल var_dump() आउटपुट बदलता है, लेकिन वास्तविक स्मृति प्रबंधन नहीं।
यह कुछ अन्य चिंताओं को संबोधित कर सकता है कि आप double
float
के बजाय कुछ अन्य मशीनों में var_dump में दिखाए गए हैं।
इसके अलावा, xdebug के साथ या बिना, gettype
अभी भी string(6) "double"
देता है।
बहुत रोचक! इस पर ध्यान दिलाने के लिए धन्यवाद। –
पीएचपी 7.0.14
function test(double $a) {
var_dump($a);
}
test(2.2111);
रिटर्न में "गंभीर त्रुटि: Uncaught TypeError: तर्क 1 परीक्षण करने के लिए पारित कर दिया() डबल का एक उदाहरण होना चाहिए, यह देखते हुए फ्लोट"।
function test(float $a) {
var_dump($a);
}
test(2.2111);
स्क्रीन पर 2.2111 प्रिंट करता है।
इसके बारे में निश्चित है? क्या इसके बारे में कुछ स्मृति उपयोग भिन्न हैं? – TheCrazyProfessor
मेरे पास 'फ़ंक्शन कुछ (फ्लोट $ num) {} 'है, जब मैं' कुछ (17.23) 'का उपयोग करता हूं तो यह ** घातक त्रुटि ** फेंकता है ** कुछ() फ्लोट, डबल दिए गए, – NaveenDA
@NaveenDA का एक उदाहरण होना चाहिए PHP का संस्करण? PHP 7.0 से पहले, स्केलर प्रकार संकेत उपलब्ध नहीं थे और इसके बजाय कक्षा के नाम के रूप में व्याख्या की जाएगी। ऐसा लगता है कि वहां क्या हो रहा है। –