메뉴 건너뛰기

조회 수 48 추천 수 0 댓글 0


서비스 중인 게임의 브라질 유저가 게임이 이상하다고 리포트가 와서

 

이게 대체 무슨 난리인가 싶어서 안드로이드 에뮬레이터를 포르투갈어로 바꿔서 테스트 해본 결과

조사를 거친 결과 CSV에서 float를 파싱할 때 .이 씹혀서 0.15가 15가 되는 등 문제가 발생하고 있었다.

 

한국어는 1000.45를 표기 할 때 표기법이 1,000.45 이지만

포르투갈어는 1.000,45 였던 것.

 

미친.

 

그래서 float를 파싱할 때에는

float.Parse("1000.45", CultureInfo.InvariantCulture);

float.Parse("1000.45", new CultureInfo("kr-KR"));

float.TryParse("1000.45", System.Globalization.NumberStyles.Float, System.Globalization.CultureInfo.InvariantCulture, out float PARSEDFLOAT);

등 CultureInfo 매개변수 설정을 해줘야한다.

 

다행히 선리스시티는 CSV에 float를 안 씀.

 

내 생각에 기기 포르투갈어로 설정한 다음

인디인디한 게임들 들어가보면 에러나서 게임이 안 되거나 핵 안 써도 수치가 망가지거나 하는 게임 꽤 있을 듯

아니면 내가 너무 근본 없이 맨땅에 헤딩으로 코딩을 익혀서, 나만 이런 기본 상식이 없는 걸지도.

 

 

결론

CSV 파싱 같은 거 할 때는 float.parse에 주의 하자.


사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )