C#十进制转换为float并插入sql float列

时间:2016-04-15 18:10:44

标签: c# sql

我很难解决这个问题。

我正在使用一个企业数据库表,该表有一个名为balance的列float

我正在尝试在其中插入decimal值。现在在c#中我尝试将小数点圈到2个位置,然后将其插入到列中,它就是这样做的。 56.4000015258789当我的值为56.40时。

我在插入之前进行调试,它是四舍五入的。我无法改变专栏。 。那我怎么绕过这个?

我知道它与sql如何考虑分数有关。

我尝试将小数组格式化为字符串,然后将其解析为浮点数并且不起作用。

1 个答案:

答案 0 :(得分:1)

很明白,原因是SQL接近浮点值和双精度值。没有办法解决这个问题,这是数据如何存储在数据库中的基本特征。如果是我在这个位置,我会重新评估为什么我不能改变专栏。

您的选择因此是:

  1. 在SELECT语句中使用之前对数据进行舍入。
  2. 创建一个由PK连接的单独表,并存储精确值 在那里。
  3. 我不喜欢任何一种选择,说实话。