라이브 서비스도중 System.DateTime 뿐만아니라 특정 Float parse에도 특정구가에 표기가 다르다는 사실을 알았다.
(라이브 도중 특정국가에 파싱에만 Firebase Crashlytics에 잡히는걸 확인)
datetime 도 태국처럼 시간표기에 문제가 있는데 float parse도 문제가 있을 수 있다.
ex) 미국 or 한국 표기 :1,234,567.89
러시아 or 브라질 표기 : 1.234.567,89
이처럼 표기법이 다른데 문제는 float.parse를 할때 에러를 발생 시킬 수 있다.
해결법은 간단하다.
float.parse를 할떄 뒤에 cultureinfo invariantculture 를 써주면 된다.
float.parse(6.245 ,CultureInfo.InvariantCulture);
TryPase일 경우
floa.TryPase(value, System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out result);
도트윈에 파싱코드를 보면 CultureInfo.InvariantCulture가 있다는것을 볼 수 있다.
'Unity' 카테고리의 다른 글
C# 과 런타임 (0) | 2023.07.26 |
---|---|
Unity Frame Debugger (0) | 2023.07.25 |
맥 버전을 12.3으로 업데이트 하고 유니티 플레이가 안되는 경우 (0) | 2023.06.30 |
sdk가 정상적으로 적용했는데 호환이 안되거나 못찾는다면 proguard 등록을 확인하자 (0) | 2023.06.28 |
[FlatBuffer]플랫버퍼에 대해서 (0) | 2023.06.19 |