微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我想每 60 秒将最小数字增加 5,并且不得超过 Xamarin/C# 中的最大数字

如何解决我想每 60 秒将最小数字增加 5,并且不得超过 Xamarin/C# 中的最大数字

所以,我正在处理一个显示两个金额的项目。第一个是最小数量,它是恒定的。但是,第二个是每60秒的进度(增量),但该数字不得超过一定时间内设置的最大数量一个例子是: 我的最低金额为 10,000。 最大金额 = 50,000。 储蓄期限= 93 天。 现在,我希望进度计数(显示储蓄如何增长的标签)在特定给定时间(可能是 60 秒)内继续增加,直到第 93 天不超过最大数量

我的问题是,我如何实现这一目标?什么方法最能得到好的结果?

这是我目前的实现:

public string TotalBalance
    {
        get
        {
            //string newBal;
            double min;
            double max;
            double dys;
            dys = double.Parse(days);
            double calc = dys * 1440;
            min = double.Parse(amount);
            max = double.Parse(totalReturn);
            double costpermin = max / calc;
            if (dys>0)
            {
                string kems;
                Device.StartTimer(new TimeSpan(0,60),() =>
                {
                    // do something every 60 seconds
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        double pel = min + costpermin++;
                        string polo = pel.ToString();
                        string Bal = Math.Round(Convert.Todouble(polo),2).ToString("C",System.Globalization.CultureInfo.GetCultureInfo("en-us")).Replace("$","N");

                        kems = Bal;
                        var updamt = Bal;
                        MessagingCenter.Send<object,string>(this,"timer",updamt);
                    });
                    return true; // runs again,or false to stop
                });
                return kems;
            }
            else
            {
                string meeBal = Math.Round(Convert.Todouble(this.totalReturn),"N");
                return meeBal;
            }
        }

        set
        {
            TotalBalance = value;
            OnPropertyChanged(nameof(TotalBalance));
        }
    }

我在模型中添加了 deviceTimer 以便能够实时更新视图。但是,也存在一些问题。 1. 计算是正确的,但只在前 60 秒后计算。所以在外观上,金额标签显示为空。并且视图仍然没有更新。 2.明天不继续计算,所以如果今天你的总增长显示10,200.12,那么当你明天再次打开应用程序时,它会重新开始计数,而不是从开始的地方开始。

解决方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。