我在数据库中定义了纬度和经度。两者都是Float数据类型。我想在地图上显示地理信息。我的问题是当我使用@Model(我使用Asp.net MVC和Razor语法)将这些信息传递给变量时。代码是
var latitude = @Model.Latitude;
var longitude = @Model.Longitude;
它显示每条线后面有一条红色的红线。当我在那里徘徊鼠标时,它显示为
Double?Dinner.Latitude
Double?Dinner.Longitude
我对此一无所知。然后我尝试转换像
这样的数据类型var latitude = (double)(@Model.Latitude);
var latitude = (double)(@Model.Longitude);
红色的卷曲线确实消失了,但它告诉了我
"Undefined Double"
谁知道为什么?
由于
答案 0 :(得分:1)
decimal latitude = Convert.ToDecimal(Model.Latitude);
decimal longitude= Convert.ToDecimal(Model.Longitude);
答案 1 :(得分:0)
当您使用剃刀范围时,无需使用@
keyworkd来访问服务器端值。只是尝试打开一个剃刀块并设置变量,试试这个:
@{
var latitude = (double)Model.Latitude;
var longitude= (double)Model.Longitude;
}
然后展示它,使用@
razor keyworkd:
<p>@latitude</p>
<p>@longitude</p>
您也可以使用double类型的ToString()
方法格式化此值:
<p>@latitude.ToString("0.000")</p>