小编Mik*_*eed的帖子

sybase 15.7浮点数到数字舍入错误

任何人都可以解释以下内容,这对我来说只是一个bug:

select convert(numeric(8,4), convert(float, '12.4155499999999996418864611769'))

12.4156
Run Code Online (Sandbox Code Playgroud)

当然答案应该是12.4155.为了仔细检查,我创建了一个表MyTab,其中包含一个sybase"float"列,并插入了"12.4155499999999996418864611769".然后使用转换转储十六进制并得到0x4028D4C2F837B4A2.这确实是我插入的字符串的IEEE 754双精度表示.然后,如果我(如上所述)将其转换为数字(8,4),则给出12.4156.

我认为这是错误的,还是我生气了?

floating-point sybase-ase

4
推荐指数
1
解决办法
4813
查看次数

标签 统计

floating-point ×1

sybase-ase ×1