gpt4 book ai didi

apache-pig - Pig 向下舍入到小数点后第 n 位

转载 作者:行者123 更新时间:2023-12-01 11:29:52 29 4
gpt4 key购买 nike

在 pig 中如何将 float 或双倍向下舍入到小数点后第 n 位。例如

f(3.999999, 1) =  3.9
f(3.42317, 2) = 3.42
f(1.03, 1) = 1.0

我真的只需要四舍五入到小数点后第一位,但我想我会把这个问题留给一般性的。我看到了“ pig 将小数点四舍五入到两位数”的问题,但答案没有解释到我可以适应它的程度。谢谢


回答

原来数学很容易解决这个问题。只是做:

FLOOR(column * 10^n) / 10^n

最佳答案

PIG 有 ROUND_TO .这将根据所需的小数点进行舍入。

B = FOREACH A GENERATE ROUND_TO(input,num_of_decimal_places);

例子:

输入文件:

3.999999
3.42317
1.03

A = LOAD '文件' as (num:float);B = FOREACH A GENERATE ROUND_TO(num,2);转储 B;

输出:

(4.0)
(3.42)
(1.03)

关于apache-pig - Pig 向下舍入到小数点后第 n 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33356026/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com