C#double to SQL float格式不正确

时间:2015-01-05 17:58:16

标签: c# sql-server

我正在将电子表格导入SQL数据库,总体而言是成功的。但是,我遇到了非int数字的问题。特别漂浮。在数据库中,我有一个名为Frequency的列,类型为float(53)。当我尝试将它从.net转换为double时,使用

插入到数据库中
Frequency = float.Parse(Convert.ToDouble(dr["Frequency"]).ToString()),

我得到了

[FormatException: Input string was not in a correct format.]
System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) +11057083
System.String.System.IConvertible.ToDouble(IFormatProvider provider) +46
System.Convert.ToDouble(Object value) +28
Management_ImportExport.btnImport_Click(Object sender, EventArgs e) in   c:\FreqTracker\dbFrequencyTrackerSite\Management\ImportExport.aspx.cs:118
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9653178
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

我也尝试过:

Convert.ToDouble(dr["Frequency"], CultureInfo.InvariantCulture.NumberFormat)
Convert.ToDouble(dr["Frequency"])
(float) Convert.ToDouble(dr["Frequency"])
float.Parse(dr["Frequency"].ToString(), NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat)

以及其他一些我不记得的东西,它们都会产生相同的结果。我从这里看了其他解决方案,但没有一个解决了我的特殊问题。

0 个答案:

没有答案