1
我有一个录入完成事件验证码:(Xamarin)C#双师返回无穷时,不应该
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.01 Settings.MinRate被保存值为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是什么类型? –
它也是一个双。当您使用Settings插件实际保存/加载时,或者在实际完成MinRate计算时,您说“保存”时,我编辑了我的问题: – rickrvo
? – Jason