我有一个数据库列,其中包含(由于某种原因在一段时间内丢失)浮点值。
因此,有人用一些小值(比如 0.00025)填充数据库表,当我运行报告时,我实际上得到了 0.000249999999...或者类似的值,因为无法表示输入的值。
有没有可靠的方法来获取浮点值并将其转换回最初输入的值?
数据库是Sybase。
有没有什么可靠的方法可以取
浮点值并转换回什么
最初输入的是?
不。大约有大量的实际值可以映射到单个浮点值。 db 存储与原始条目最接近的 FP 近似值;在一般情况下,存在无限多个实值,其中 0.000249999999... 是最接近的 FP 近似值。
同样,在一般情况下,您无法安全地对条目的长度做出假设。也就是说,您无法通过查看 0.000249999999 来安全地判断用户是否在应用程序中键入了该内容、用户是否键入了 .00025、dba 是否将该列更新为计算结果(在这种情况下,“原始值” “值可能小于0.0002499999等)等等。
但是,如果您知道要查看小数点右侧的位数,则可以使用 Sybase 的 ROUND() 函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)