PHP 5 में, जब भी मुझे इनपुट के रूप में संख्या मिलती है तो मैं अंतराल() का उपयोग करता हूं। इस तरह, मैं यह सुनिश्चित करना चाहता हूं कि मुझे कोई स्ट्रिंग या फ़्लोटिंग नंबर न मिले। मेरी इनपुट संख्या पूरी संख्या में होनी चाहिए। लेकिन जब मुझे संख्याएं मिलती हैं> = 2147483647, हस्ताक्षरित पूर्णांक सीमा पार हो जाती है।PHP: अंतराल() संख्याओं के बराबर> = 2147483647
सभी आकारों में संख्याओं के लिए अंतराल() समकक्ष रखने के लिए मैं क्या कर सकता हूं?
यहाँ है कि मैं क्या करना चाहते है:
<?php
$inputNumber = 3147483647.37;
$intNumber = intvalEquivalent($inputNumber);
echo $intNumber; // output: 3147483647
?>
अग्रिम में बहुत बहुत धन्यवाद!
संपादित करें: कुछ उत्तरों के आधार पर, मैंने समकक्ष फ़ंक्शन को कोड करने का प्रयास किया है। लेकिन यह अभी तक अंतराल() अभी तक काम नहीं करता है। मैं इसे कैसे सुधार सकता हूँ? इसमें ग़लत क्या है?
function intval2($text) {
$text = trim($text);
$result = ctype_digit($text);
if ($result == TRUE) {
return $text;
}
else {
$newText = sprintf('%.0f', $text);
$result = ctype_digit($newText);
if ($result == TRUE) {
return $newText;
}
else {
return 0;
}
}
}
तो क्या वास्तव में यह काम नहीं करता है और क्या अन्य समाधान के साथ गलत क्या है यहाँ, रेगेक्स एक सहित? –