SAP HANA浮点无穷小数部分

2020-08-19 03:41发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好!

我以FLOAT类型运行SUM聚合的sql查询,返回结果等于13,199999999999998,而不是13,2。 我必须对浮点数执行哪些操作才能获得正确的结果。

谢谢。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好!

我以FLOAT类型运行SUM聚合的sql查询,返回结果等于13,199999999999998,而不是13,2。 我必须对浮点数执行哪些操作才能获得正确的结果。

谢谢。

付费偷看设置
发送
3条回答
SAP小菜
1楼-- · 2020-08-19 04:23

亲爱的丹尼斯

请尝试使用贝尔

选择ROUND(SUM(Amount),2))作为"金额"
 

选择演员表(SUM(Amount)为DECIMAL(18,2))作为" Amount" 

关于,

Venkat

xfwsx85
2楼-- · 2020-08-19 04:11

请记住,浮点数据类型不能保证精确。 如果要获得精确的结果,最好使用精确的数据类型,例如DECIMAL()。

https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.04/zh-CN/4ee2f261e9c44003807d08ccc2e249ac.html

分数 这些数字中的1/2使用1/2、1/4、1/8、1/16等的组合表示。 因此,它们不能完全用小数位表示有理数。 例如,不能通过组合这些二进制分数来精确表示0.1。 在这种情况下,使用浮点数据类型时会得到不正确的结果。 对于这些数据类型,这是正确的行为。

您可以将每一行转换为数据模型或查询中的精确数据类型,也可以将结果转换为 一个精确的值。

我是小鹏鹏啊
3楼-- · 2020-08-19 04:35

马克·穆米,谢谢 很多。 对我有帮助。

一周热门 更多>