定点和浮点:不能同时进行的两件事

Oracle数据库允许用两个表示“精度”和“小数位数 ”的整数来表示NUMBER数据类型的数字列 。 PostgreSQL的数字数据类型实现非常相似。 Oracle的和PostgreSQL的允许相同的数据类型本质上表示整数值(指定了精度但未指定小数位数),定点数(指定了精度和小数位数)或浮点数点数(既未指定精度也未指定比例)。 这篇文章中基于Java / JDBC的简单示例将对此进行演示。

在Oracle数据库和PostgreSQL数据库中创建了表之后,接下来我将使用一个简单的JDBC PreparedStatement将java.lang.Math.PI的值插入到所有三列的每个表中。 以下Java代码段演示了此插入。

将插入列

查询列

接下来的两个屏幕快照显示了针对Oracle和PostgreSQL数据库分别运行上述Java插入和查询代码的输出。

将与Oracle的列进行比较

将与PostgreSQL的列进行比较

在Java和其他编程语言中,不仅需要关注算术运算的影响和可用精度对浮点数的“正确性”的关注。 开发人员还需要知道如何将这些数字存储在Oracle和PostgreSQL数据库的关系数据库列中,以了解这些列上的精度和小数位数指示如何影响所存储的浮点数的表示形式。 如果将从数据库查询的表示形式用于浮点计算,则尤其适用。 这是(许多)另外一个示例,对于Java开发人员而言,理解所使用的数据库模式非常重要。

翻译自: https://www.javacodegeeks.com/2016/11/fixed-point-floating-point-two-things-dont-go-well-together.html

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树使用JDBC操作数据库数据库操作91472 人正在系统学习中 相关资源:漂浮截图工具-教育工具类资源

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月23日
下一篇 2020年3月23日

相关推荐