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

Decimal or Float (SQL Server and C++)

本文关键字:c++ Server SQL 浮点数 十进制      更新时间:2023-10-16

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

我应该在c++中使用哪种类型才能将这17个小数推入SQL查询?

谢谢

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

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

为了得到更好的建议,你需要提供更多关于数字来源的细节。

你真的需要精确数字吗?

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