自定义UDF函数:double数值转换成高精度BigDecimal
程序员文章站
2024-01-23 15:09:22
自定义UDF函数:double数值转换成高精度BigDecimal。
import java.math.BigDecimal;
import org.apache.hadoop.hiv...
自定义UDF函数:double数值转换成高精度BigDecimal。
import java.math.BigDecimal; import org.apache.hadoop.hive.ql.exec.UDF; /* * 该方法是返回double类型的数值的BigDecimal类型的对应值,这里返回的样式是字符串类型 */ public class UDFCastDouble extends UDF { public String evaluate(Double number) { //doubleValue()是求double类型的原始值,因为number是Double的封装类对象,不是值 BigDecimal db = new BigDecimal(number.doubleValue()); //toPlainString()方法是BigDecimal中返回不带指数字段的字符串类型值 String stringNumber = db.toPlainString(); return stringNumber; } //使用main方法测试 public static void main(String[] args) throws Exception { UDFCastDouble o = new UDFCastDouble(); System.out.println(o.evaluate(2.001)); System.out.println(o.evaluate(2.00)); } } //测试结果: 2.000999999999999889865875957184471189975738525390625 2
下一篇: React组件refs的使用详解