फेंकना चाहिए मेरे पास एक स्ट्रिंग है जो एक संख्या संग्रहीत करती है। अब मैं उस स्ट्रिंग को पार्स करना चाहता हूं और फ्लोट के रूप में जाना चाहता हूं।स्ट्रिंग के रूप में संग्रहीत फ्लैटिंग फ्लोट को अपवाद
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
try {
System.out.println(Integer.parseInt(" 2 "));
} catch(NumberFormatException e) {
System.out.println("Exception caught");
}
System.out.println(Float.parseFloat(" 2.4 "));
}
}
अब उपरोक्त कोड में यदि आप इसे चलाते हैं तो यह सफल होगा। मेरा प्रश्न यह है कि पूर्णांक के मामले में पीछे की जगहें NumberFormatException
फेंकती हैं जबकि एक फ्लोट को पार्स करने से कोई फेंक नहीं जाता है?
पीएस: बूउलेन और डबल पार्सिंग के मामले में भी यही मामला है।
पीपीएस: जावा में एक असंगतता क्यों है? और मैं पहले से ही स्रोत कोड
कारण है कि आप स्रोत कोड पर एक नज़र नहीं है और जानने के? या @ जेन्स उत्तर देखें ;-) –
@ScaryWombat जावा के स्रोत कोड को प्राप्त करना आवश्यक नहीं है और यह जानने के लिए कि कोई विधि क्या करती है उसे पढ़ना आवश्यक नहीं है; वह जानकारी विधि के जावाडॉक में होनी चाहिए। इस मामले में 'Float.parseFloat (स्ट्रिंग)' का जावाडॉक यह नहीं कहता है, लेकिन यह कहता है _... जैसा कि क्लास फ्लोट ..._ के मानऑफ विधि द्वारा किया गया है, और 'Float.valueOf के JavaDoc (स्ट्रिंग) 'कहता है _ में व्हाइटस्पेस वर्णों को लेना और पीछे हटाना अनदेखा कर दिया गया है। – SantiBailors
@ सैंटिबेलर्स धन्यवाद - उत्कृष्ट टिप्पणी –