我有一个项目,用户可以在文本框中输入小数。现在,我将该值解析为一个可以为空的浮点变量,并将其传递给tableAdapter以插入或更新DB。
这就是它奇怪的地方,如果我给它一个值.24,这就是传递给tableAdapter的值,但是,当我查看保存到数据库的内容时,它会转换为0.239999994635582。
我将其调试为TableAdapter的插入调用,并向其传递了一个值.24。我的SQL server数据库列的类型为float。
你知道为什么会发生这种事吗?我需要换成十进制吗?
谢谢
发布于 2012-07-25 20:13:13
解决方案是浮点数的2表示的内部幂。
一些分数值不能很好地表示。
点击此处阅读更多信息:IEEE 754 Floating point numbers
切换到十进制在这里可以工作,但也会对性能产生影响。(比float慢10倍,但你可能永远不会注意到它)
https://stackoverflow.com/questions/11649377
复制相似问题