2014-09-15 3 views
0

xamarin에 iOS 앱을 만들고 있습니다. 십진수 값으로 작업하고 있습니다. & 모든 것이 iPhone에서 잘 작동합니다. 하지만 iPad에서 앱을 테스트 할 때, 1이 아닌 모든 10 진수 값을 잘못 해석하게됩니다.iOS 앱에서 iPad 10 진수 값 제거

예를 들어 문자열 값은 1200.00입니다. 나는이 값을 구문 분석하고 있습니다 :

if (Decimal.TryParse (vehicle.offer_price, out result)) { 

을하지만 난 다시 점점 오전 : 120000 아이폰 아이 패드 & 1200.00에? 이게 뭐야?

종류는

답변

0

난 당신이 표시되는 방법과 진수의 내부 구현을 혼동 할 수있다 생각 간주한다. 부동 소수점 유형 (십진법, 이중 등)은 이진 데이터 구조로 구현되며, 표시되는 위치에 따라 다양한 형식으로 표시 될 수 있습니다. 십진법 뒤의 유효 숫자를 포함 할 수도 있고 포함하지 않을 수도 있습니다 포인트. 일반적으로 UI에서는 사용할 프로그래머의 형식 (예 : 소수점 이하 자릿수)을 프로그래머가 결정합니다.

디버거와 비교해보십시오. 여기에 표시 형식이 IDE 구현 자에 의해 선택되었으므로 소수점 뒤에 숫자가 포함될 수도 있고 포함되지 않을 수도 있습니다 (그러나 표시되지 않으면 조금 이상합니다) .

중요한 점은 표시 형식에 관계없이 Decimal의 실제 기본 값이 변경되지 않는다는 것입니다.

1

각 장치의 지역 설정이 다릅니다.

하나의 장치는 도트가 천 단위 구분 기호 인 영역 형식으로 설정되고, 다른 장치는 소수점 구분 기호 인 영역 형식으로 설정됩니다.