Float类型转换错误

本文关键字:错误 类型转换 Float | 更新日期: 2023-09-27 18:16:27

我在数据库(餐桌)中定义了Latitude Float(24)和Longitude Float(24)。然后,当我试图使用它们时,我的模型

中的代码如下所示
  public class JsonDinner
{
    public JsonDinner(){}
    public JsonDinner(Dinner dinner)
    {
        DinnerID = dinner.DinnerID;
        EventDate = dinner.EventDate.ToString();
        Latitude =  dinner.Latitude;
        Longitude = dinner.Longitude;
        Title = dinner.Title;
        Description = dinner.Description;
        RSVPCount = dinner.RSVPs.Count;
        Url = "dinner/details/" + dinner.DinnerID.ToString();
    }
        public int    DinnerID    {get; set;}
        public string EventDate   {get; set;}
        public float  Latitude    {get; set;}
        public float  Longitude   {get; set;}
        public string Title       {get; set;}
        public string Description {get; set;}
        public int    RSVPCount   {get; set;}
        public string Url         {get; set;}
}

上面写着

不能隐式地将'float'转换为'float'。显式转换存在(你是不是少了一个演员)?

我做错了什么?

Float类型转换错误

从数据库中得出,我认为float等同于c# double。所以让它们:

Latitude =  (float)dinner.Latitude;
Longitude = (float)dinner.Longitude;

但是要明白,您可能会降低精度,因此截断/舍入成为可能。