将字符串解析为浮点数

时间:2012-05-16 13:47:03

标签: c# parsing

我正在尝试将字符串解析为float并将其添加到SqlParameter中。 当我输入1234567890时,它在数据库中保存为1234567936。 我也看到它在调试中被转换为1.234568E + 9。由于数据库接受float,我无法将其转换为double。

com.Parameters.Add(new SqlParameter("Awb", SqlDbType.Float)).Value = float.Parse(txtAwb.Text);

解决方案:看起来我必须在数据库中使用其他数据类型。浮点值不能包含多个数字的数字。 我正在研究一个旧的数据库,所以我会考虑别的。

3 个答案:

答案 0 :(得分:4)

浮动值的精确度有限......这是有限数量的有效数字

如果需要准确存储大值,则需要在数据库中使用不同的字段类型。对于大型非小数值的货币或可能是整数。

基本上浮动不能保持那么大的数字达到你想要的精度。

答案 1 :(得分:0)

here是关于浮动的所有c#内容

float.Parse(value)应该做你想做的事情

答案 2 :(得分:0)

不幸的是,当您使用float时,您无法获得超过7个有价值的数字。 请考虑使用其他数据类型。