2011-09-12 5 views
0

입니다. 그래서 float 번호로 입출력을하려고합니다. "암시 적으로 '부동'(CS0029)에 유형 '문자열을'변환 할 수 없습니다 오류 CS0029을"float로 변환하는 가장 빠른 방법은

Console.WriteLine("Enter float number: "); 
float number = Console.ReadLine(); 
Console.WriteLine("{0}", number); 

나는에서는 ReadLine가 발생합니다 문자열의 형식이됩니다 문제를 참조하십시오. 자, 어떻게 문자열을 float로 변환합니까? 나는 float.Parase 사용할 수 있습니다

string unformattedNumber; 
float number; 

Console.WriteLine("Enter float number: "); 
unformattedNumber = Console.ReadLine(); 

number = float.Parse(unformattedNumber); 

Console.WriteLine("{0}", number); 

을하지만에서는 ReadLine 문에서와 같이 같은 라인에 변환 할 수있는 더 좋은 방법은 무엇입니까?

+2

'수 = float.Parse (Console.ReadLine());'-'플로트도있다. TryParse'를 처분하십시오. – Jon

+0

아! 나는 이것을 사용할 수 있다는 것을 몰랐다. – HelpNeeder

+1

TryParse는 문자열이 유효한 숫자가 아닌 경우 조금 더 빠릅니다. –

답변

2

float 번호 = float.Parse (Console.ReadLine()); 완벽하게 잘 작동해야합니다. 일반적으로 같은 줄에있는 함수 호출을 작성할 수 있습니다. 그냥 흥분하지 마십시오. 의미가 확실한 지 확인하십시오. 때로는 실제로 코드를 명확하게 만들지 만 코드를 너무 많이 사용하면 코드를 읽을 수없는 덤불로 끝납니다.

1

. 사용자가이 시점에서 아무 것도 입력 할 수 없으므로이를 수용해야합니다.

당신은 예외 처리기에서 float.Parse을 포장 할 수 있지만 float.TryParse를 사용하는 것이 좋을 것이다 :

float result; 
if (float.TryParse(Console.ReadLine(), out result)) 
{ 
    // Do stuff 
} 
관련 문제