로되어 있지 않은 경우 무한대를 반환 : 나는 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에 대한 정확했다 ... 그래서 문제가 설정 플러그인 것 같다 ...
Settings.MinRate는 어떤 유형입니까? –
그것은 또한 두 배입니다. 나는 당신이 "saved"라고 말할 때 – rickrvo
이라는 응답으로 내 질문을 편집했다. 실제로 설정 플러그인을 사용하여 저장 /로드되었거나 MinRate 계산이 실제로 완료되었을 때를 의미합니까? – Jason