2013-05-17 11 views
12

मैं 'parse' का उपयोग कर timespan चर को एक पूर्णांक चर में परिवर्तित करने की कोशिश कर रहा हूं।timespan चर को एक पूर्णांक प्रकार में कैसे बदला जाए?

स्वरूप अपवाद बिना क्रिया था: मैं एक त्रुटि मिलेगा जिसमें बताया गया इनपुट स्ट्रिंग सही स्वरूप में नहीं था

इस कोड है है:

private void dateTimePicker4_ValueChanged(object sender, EventArgs e) 
    { 
     TimeSpan t = dateTimePicker4.Value.ToLocalTime() - dateTimePicker3.Value.ToLocalTime(); 
     int x = int.Parse(t.ToString()); 
     y = x; 
    } 

मेरे लक्ष्य प्रदर्शित करने के लिए है यह दो टाइमपिकर्स के लिए समय में परिवर्तन, गतिशील रूप से एक टेक्स्ट बॉक्स में, यानी, उनके बीच के मिनटों में अंतर स्वचालित रूप से टेक्स्टबॉक्स में प्रदर्शित होना चाहिए।

+0

यह एक भयानक प्रश्न में है। प्रश्न स्वयं ही नहीं, बस आप 'ToString' मान को पार्स करने का प्रयास कर रहे हैं। आपको मौजूदा गुणों और विधियों की तलाश करने की आदत में होना चाहिए जो आप जो चाहते हैं वह पहले से ही कर सकते हैं। अधिकतर नहीं, कार्यक्षमता आमतौर पर पहले से मौजूद है, कहीं – musefan

+0

धन्यवाद, इसे ध्यान में रखेगा। –

उत्तर

22

उनके बीच के मिनटों में अंतर टेक्स्टबॉक्स में स्वचालित रूप से प्रदर्शित किया जाना चाहिए।

TimeSpan.TotalMinutes संपत्ति का उपयोग करने के बजाय पार्सिंग के बजाय।

t.TotalMinutes; 

संपत्ति, डबल प्रकार की है अगर तुम सिर्फ हिस्सा पूर्णांक की जरूरत है तो आप कर सकते हैं:

int x = (int) t.totalMinutes; 
+0

क्या होगा यदि अंतर इंट 32 से बड़ा है उदाहरण: diff। समय की शुरुआत के बीच और अब? –

+0

@ श्रीवास्तेश हरिश्वरकटरामाना, 'लांग' का प्रयोग करें। बिंदु संख्या का पूर्णांक भाग लेना था ... – Habib

4
private void dateTimePicker4_ValueChanged(object sender, EventArgs e) 
    { 
     TimeSpan t = dateTimePicker4.Value.ToLocalTime() - dateTimePicker3.Value.ToLocalTime(); 
     int x = int.Parse(t.Minutes.ToString()); 
     y = x; 
    } 

आप int x = int.Parse(t.Minutes.ToString()); में बदलने की कोशिश की है?

से: http://msdn.microsoft.com/en-us/library/system.timespan.aspx

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