2010-07-02 4 views
5

으로 NaN의 구문 분석에 실패, C#을이 라인은 형식 예외가 발생합니다 이 문제를 어디에서 해결할 것인지 알 수 없습니다. 이견있는 사람? 사전에C#을 일본에서 윈도우 PC에 이중

감사합니다, 짐

답변

7

나는 무엇이 문제인지 안다. 불변의 형식 프로 바이더를 사용해보십시오.

+0

'double d;를 사용할 때 나는 꼬마처럼 웃을 수있다. – ChaosPandion

+0

사용자에게이 테스트를 보내 드리겠습니다. 성공하면이게 무슨 뜻입니까? Windows에서 일종의 일본어 현지화 기능을 사용하고 있습니까? –

+0

@ 짐 - 이것이 정확히 무엇을 의미합니다. – ChaosPandion

-3

첫째, 당신은 "NaN이"에 대한 이중 값을 결정해야한다. 어쨌든, 숫자가 아닌 형식 문자열을 파싱하면 System.FormatException이 발생합니다.이를 catch하고 double 값을 수동으로 설정해야합니다.

double x; 
string foo = "NaN"; 
try 
{ 
    x = double.Parse(foo); 
} 
catch 
{ 
    x = 0.0; 
} 
+1

실제로'TryParse'는 제어 흐름에 대한 예외에 의존하지 않으므로 선호되는 방법입니다. – ChaosPandion

+1

그러나 변수를 Double.NaN으로 초기화해야합니다. 이 값은 이중을 초기화하는 파일에 있습니다. –