如何在sql server中操作和存储精确的数字

时间:2011-08-02 18:54:00

标签: sql sql-server sql-server-2008-r2

如何存储可变小数点的数字?我想可以有1到100个小数点。 float数据类型有什么用?他们为什么称它为近似数字?十进制是好的,但据我所知,它是一个固定的精度数据类型。是否有关于精确数字的好文章?我的数据库将与.net前端进行交互,我还需要在前端显示这些精度。

1 个答案:

答案 0 :(得分:3)

来自wiki:

  

术语浮点指的是小数点   (小数点,或者,更常见的是在计算机中,二进制点)可以   “浮动”;也就是说,它可以放在相对于的任何地方   该数字的有效数字。表明了这个立场   分别在内部表示和浮点   因此,表示可以被认为是计算机实现的   科学计数法。多年来,几个不同的浮点   表示已用于计算机;然而,在过去十年   几年来最常遇到的表现形式是由   IEEE 754标准。

     

浮点表示优于定点(和   整数)表示它可以支持更广泛的范围   值。例如,具有七个的定点表示   带小数点后两位的十进制数字,可以代表数字   12345.67,123.45,1.23等,而浮点数   表示(例如IEEE 754 decimal32格式)与七   十进制数字可以另外代表1.234567,123456.7,   0.00001234567,1234567000000000,依此类推。浮点格式   需要稍微多一点的存储空间(以编码基数的位置)   点),所以当存储在同一空间时,浮点数   以牺牲精度为代价来实现更大的范围。

有关定点数据的请求,请参阅此http://msdn.microsoft.com/en-us/library/ms187746.aspx

最好的原始数据类型是38.如果你真的想要100个地方,你可以在你的应用程序中使用varchar并实现操作。