2017-11-02 1 views
1

OS의 기본 언어로 Sverige-Swedish 사용 ...Sverige-Swedish CLR 4.0에서 'NaN'이 이상한 표현으로 표시되는 이유는 무엇입니까?

dotNET 4.0의 경우 'ToString'을 'G'형식으로 지정하고 현재 문화권을 잘못된 숫자 (NaN)의 경우 결과 문자열은 예상대로 "NaN"이 아닙니다. 대신, 나는 U + 00A4 ("¤¤ ¤")의 세 가지 인스턴스가있는 문자열을 얻습니다.

스웨덴어는 "NaN"이외의 다른 용어 일 수 있습니다 (OS가 Deutschland-German로 설정되어 있으면 문자열이 "NaN"임에도 불구하고). 그러나이 세 줄의 유니 코드 문자는 에있는 "숫자가 아님"의 의미를 나타내는 매우 유용한 방법입니다. 언어입니다.

누군가 나를 설명 할 수 있습니까?

답변

3

이것은 버그 인 것 같습니다. 당신은 모든 문화에 대한 NaN을 대표하는 모든 문자열의 목록을 인쇄하는 경우, 당신은 볼 스웨덴어를 제외한 모든 언어 중 하나 "NaN이"가 또는 각각의 langauge에서 또 다른 의미 설명 :

foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures)) 
{ 
    Console.WriteLine(String.Format("{0}:\t {1}", ci, double.NaN.ToString("g", ci))); 
} 
+0

아, 환상적인! 내 dev 컴퓨터가 Windows 업데이트를 수행 중입니다. _ _ <이 시도는 아직 시도 할 수 없지만 매우 그럴듯하게 들리므로 체크 표시를합니다. 감사! – bernz

+0

나는 단지 체크 표시가 녹색이 아니란 것을 알아 차렸다. 그래서 내가 적시에 그것을 잊어 버렸다면, 나는 사과한다. 그리고 그것이 SO의 잘못이라면, 나는 그것을 고칠 수 없다. 어느 쪽이든, 체크 표시가 녹색으로 바뀝니다. x-D – bernz

관련 문제