2017-10-18 13 views
1

로되어 있지 않은 경우 무한대를 반환 : 나는 0.01 Settings.MinRate를 입력하면 ...로 저장됩니다 (자 마린)C# 두 부문 I는 입력 완료 이벤트에이 코드가

if (double.TryParse(txt_MinRate.Text, out double i)) 
{ 
    if (i < 0.0 || i > 6.0) 
    { 
     if (i > 6.0) 
     { 
      DisplayAlert("Invalid input", "6% is the maximum rate allowed.", "OK"); 
      txt_MinRate.Text = "6.0"; 
     } 
     else if (i < 0.0) 
     { 
      DisplayAlert("Invalid input", "Don't worry. There will never be a negative rate", "OH Good"); 
      txt_MinRate.Text = "0.0"; 
     } 
    } 
    else 
    { 
     Settings.MinRate = i/100.0; 
    } 
} 

과 일을 값 0.0001은 예상되는 것입니다. 내가 항목에 0.001를 입력하면 .... Settings.MinRate가 -Infinity 저장됩니다

.....

사람이 여기에 무슨 일이 일어나고 있는지 설명 할 수 있습니까?

편집 :

Settings.MinRate가 아닌 공정하게 아주 간단한 더블 ... 내 생각은 ... 이 Settings.cs 파일에 있습니다 :

 private const string txt_MinRateyKey = "txt_MinRate_Key"; 
     private static readonly double txt_MinRateDefault = 0.0; 
     public static double MinRate 
     { 
      get => AppSettings.GetValueOrDefault(txt_MinRateyKey, txt_MinRateDefault); 
      set => AppSettings.AddOrUpdateValue(txt_MinRateyKey, value); 
     } 

편집 2 :

다음과 같은 간단한 행을 추가했습니다. double x = i/100; Settings.MinRate = i/100 바로 뒤에; 마지막 편집 ... 내 나쁜을위한

죄송합니다 ... 결과는 두 x 값 ... 1E-05에 대한 정확했다 ... 그래서 문제가 설정 플러그인 것 같다 ...

+1

Settings.MinRate는 어떤 유형입니까? –

+0

그것은 또한 두 배입니다. 나는 당신이 "saved"라고 말할 때 – rickrvo

+1

이라는 응답으로 내 질문을 편집했다. 실제로 설정 플러그인을 사용하여 저장 /로드되었거나 MinRate 계산이 실제로 완료되었을 때를 의미합니까? – Jason

답변

0

문제는 내가 사용하고있는 설정 플러그인입니다 ...

플러그인 github에서 버그 보고서를 작성했으며 플러그인 버전 3.1.1에서 빨리 수정되었습니다.

이제 예상대로 작동합니다! :)

도움을 주셔서 감사합니다!