十进制或浮点数(SQL Server和C ++)

时间:2011-07-18 09:32:55

标签: c++ sql sql-server floating-point decimal

在SQL Server的列表中存储17位小数(例如1.12345678901234567)的最佳方法是什么?

我还应该在C ++中使用哪种类型将这17个小数推送到SQL查询中?

由于

2 个答案:

答案 0 :(得分:1)

对于SQL Server列,请使用Decimal。 您可以精确指定精度(17位小数)。

答案 1 :(得分:1)

你实际上似乎有18位数字(包括整数部分)。您需要128位浮点数来存储它,请参阅:http://en.wikipedia.org/wiki/Quadruple_precision_floating-point_format(如果您可以访问这样的CPU,则80位也可以。请参阅:http://en.wikipedia.org/wiki/Extended_precision

要在C ++中读取和存储小数类型,您需要将它们存储为字符串。我会寻找一个GMP数学库。 (任意精度数学库。)

您需要提供有关数字来源的更多详细信息,以获得更好的建议。

你真的需要确切的数字吗?