回答

收藏

在SQL Server中保存浮点值

技术问答 技术问答 117 人阅读 | 0 人回复 | 2023-09-13

我有一个简单的Web应用程序,想要在SQL Server中保存一些Float或Double格式。6 f/ `) C0 S& ^6 H
但是有一个问题,当我尝试保存123.66时,在表中我看到存储了123.6600003662109。
- g5 e- a1 W4 r保存到数据库时,为什么我的浮点数发生了变化?我该如何解决该错误?4 N: f' p: d  v2 ]3 n
谢谢
& e, n: W" S; l6 O+ D$ }1 D" e                + |9 v9 i2 h6 @; a  |3 t
解决方案:  x. b4 h1 O+ y* Z  y
                / M" ^- B8 g! Z% c; j; R% z, K

+ i) `$ {5 @& F7 a9 U# |
5 ?6 w3 V& i- a, c! F; z* N                您 实际上 并没有尝试保存123.66,因为您不能完全以浮点数或双精度数表示123.66。仅此,数据库比以往更加准确地保存数据。2 r2 E! O0 [8 _/ \: M9 f4 {# S  _
如果要准确保存 小数 ,请使用该decimal类型。
8 `1 S; C0 ?5 {0 @, }; ~有关更多信息,请参见我有关浮动二进制点和浮动小数点类型的文章。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则