【问题标题】:How to truncate a double to four digits in hive without rounding?如何在不四舍五入的情况下将 hive 中的两位数截断为四位?
【发布时间】:2014-11-23 17:37:54
【问题描述】:

我需要将点后的数字截断为 4 位,而不是四舍五入。 我尝试使用 format_number(num,4) 但它确实进行了舍入。 我需要在不四舍五入的情况下截断它,只是为了丢弃其他数字。 有什么想法吗?

【问题讨论】:

    标签: hive truncate hiveql number-formatting


    【解决方案1】:

    有两种方法可以做到这一点,因为所有 hive 提供的函数最终都会四舍五入。

    • 您将双倍乘以 10000 -> 转换/格式化为 INT 以删除数字 -> 除以 10000
    • 您可以编写自己的 UDF 来执行此操作。编写 UDF 非常容易。这是开始的链接

    http://lets-do-something-big.blogspot.com/2014/02/hive-udf-example.html

    【讨论】:

      猜你喜欢
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2011-05-10
      • 1970-01-01
      相关资源
      最近更新 更多