尝试保存小数时始终保存999.999999

时间:2013-12-17 15:43:44

标签: mysql asp.net-mvc database google-maps decimal

我想从我的mysql数据库中的地址保存纬度/经度。获得纬度/经度的部分是完美的。在提交表单之前,我确保将经度和纬度保存在表单的两个隐藏字段中。

隐藏字段具有正确的值,例如:

<input class="longitude" data-val="true" data-val-number="The field Longitude must be a number." data-val-required="The Longitude field is required." id="Address_Longitude" name="Address.Longitude" type="hidden" value="3.433212400000002">

在我的创建动作中,我收到以下纬度/经度:

Latitude: 509071452M
Longitude: 3433212400000002M

然后我尝试将它转换为Decimal,如下所示:

viewModel.Address.Latitude = Convert.ToDecimal(viewModel.Address.Latitude);

但他总是将999.999999保存在数据库中。

在我的mysql数据库中,我有2个纬度/经度字段,均为十进制(9,6)。

在我的地址模式中:

public Decimal Latitude { get; set; }
public Decimal Longitude { get; set; }

1 个答案:

答案 0 :(得分:0)

我视图中的值是3.433212400000002我支持的内容被解释为“数千” 我将.更改为,并修复了!