Apache Pig 浮点数 SUM 精度错误

Apache Pig floating number SUM error in precision

我有带有双精度值的行。 然而,它们的总和有额外的浮动数字,我不希望在输出中出现。有什么办法可以避免这个问题吗?

A = LOAD 'test.csv' Using PigStorage(',') AS (
        ID: chararray,
        COST:double
);
B = GROUP A BY (ID);
C = FOREACH B GENERATE SUM(A.COST); 
STORE C INTO 'out.txt' USING PigStorage(',');

输入文件

A,0.51
A,0.51
B,4.81
B,4.81

预期输出文件

A,1.02
B,9.62

实际无效输出文件

10.020000457763672
9.619999885559082   

尝试C = FOREACH B GENERATE ROUND(SUM(A.COST)*100.0)/100.0;

编辑 它有效,请参见下面的输出