2013-11-28 4 views
0

잘못된 형식으로 문자열을 읽는 중 오류가 계속 발생하는 경우 나에게 맞습니다. 누군가 그 문제가 무엇인지 압니까? 잘못된 형식으로 변환 할 때, 나에게 어떤 생각이라도 보입니까?

var pound = donation.Text; 
     // convert euro to pound 
     var euro = (Convert.ToDouble(dontaion_euro.Text)); 
     var convertion_rate = 0.83; 
     var converted = euro * convertion_rate; 

dontaion_euro.Text가 유효한 숫자가 아닌 경우이 오류를 얻을 수

dontaion_euro.Text = "00.00"; 

      var euro = Convert.ToDecimal(dontaion_euro.Text); 
      var convertion_rate = Convert.ToDecimal(00.83); 
      var converted = euro * convertion_rate; 
+0

시도하고 변환 할 때 dontaion_euro.Text에 무엇이 있습니까? – aw04

+0

dontaion_euro.Text의 값은 무엇입니까? – Gary

+0

텍스트 상자에 숫자가 입력됩니다. – Beep

답변

3

으로 해결했다. 입력을 계산에 사용하기 전에 유효성을 검사하는 것이 좋습니다. 사전에 유형을 알고있는 경우 특정 유형을 사용할 것을 제안합니다. MSDN-TryParse Example :

이 예에서는, 입력을

// Parse currency value using en-GB culture. 
value = "£1,097.63"; 
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol; 
culture = CultureInfo.CreateSpecificCulture("en-GB"); 
if (Decimal.TryParse(value, style, culture, out number)) 
    Console.WriteLine("Converted '{0}' to {1}.", value, number); 
else 
    Console.WriteLine("Unable to convert '{0}'.", value); 
// Displays: 
//  Converted '£1,097.63' to 1097.63. 

소스를 검증하는 방법을 보여준다.