2012-08-29 9 views
11

के साथ स्ट्रिंग प्रारूप मुझे कुछ डबल फ्लोट मान प्रदर्शित करने के लिए फ़ॉर्मेटर का उपयोग करके एक स्ट्रिंग बनाने की आवश्यकता है। मैं इसे कोड करने के तरीके पर स्पष्ट नहीं हूं।एंड्रॉइड: डबल मान

Double dWeightInKg = 100; 
Double dWeightInLbs = 220: 
String headerText = String.format("%.0f kg/%.0f lbs",Double.toString(dWeightInKg) , Double.toString(dWeightInLbs)); 

मैं निम्नलिखित उत्पादन के लिए देख रहा हूँ: - badArgumentType (formater) मेरी String.Format लाइन पर

100 kg/220 lbs 

मैं एक runtimeexception मिल यहाँ मैं क्या है।

उत्तर

21

% .0f 0 दशमलव स्थानों के साथ, एक नाव के लिए प्रारूप स्ट्रिंग है।

आपके द्वारा String.format पर जाने वाले मान स्ट्रिंग हैं, स्ट्रिंग, जब इसे डबल, डबल होने की आवश्यकता होती है।

आपको युगल को स्ट्रिंग में बदलने की आवश्यकता नहीं है।

String headerText = String.format("%.0f kg/%.0f lbs", dWeightInKg, dWeightInLbs); 
+0

उत्तर के लिए धन्यवाद। मुझे अधिक अच्छे से पता होना था! – wyoskibum

6

यह काम करना चाहिए,

DecimalFormat df = new DecimalFormat("#.##"); 
private String convertToFormat(double value){ 

    return df.format(value); 
} 
+0

उत्तर के लिए धन्यवाद। यह वास्तव में कुछ आसान था। – wyoskibum

2

आपको डबल.ToString() की आवश्यकता नहीं है क्योंकि आपका फ़ॉर्मेटर पहले से ही एक संख्या की अपेक्षा कर रहा है। इसे आज़माएं:

String headerText = String.format("%.0f kg/%.0f lbs", dWeightInKg , dWeightInLbs); 
+0

उत्तर के लिए धन्यवाद। पूछने से पहले मुझे सोना चाहिए !! – wyoskibum

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