- import java.text.NumberFormat;
- NumberFormat nf=NumberFormat.getInstance();
- nf.setGroupingUsed(false);// 设置转成普通的
- nf.setMaximumFractionDigits(100);// 遇到小数的时候保留多少位,防止截断,系统默认的是三位
package com.bonc.cn; import java.text.NumberFormat; import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.io.Text; public class DoubleToStrUDF extends UDF { private Text result = new Text(); private static NumberFormat nf=NumberFormat.getInstance(); static{ nf.setGroupingUsed(false); nf.setMaximumFractionDigits(100); } public Text evaluate(double number) { this.result.set(nf.format(number)); return this.result; } public Text evaluate(String number) { if(number==null){ return null; } if("".equals(number.trim())){ return null; } this.result.set(nf.format(Double.parseDouble(number))); return this.result; } public static void main(String[] args) throws Exception { DoubleToStrUDF s=new DoubleToStrUDF(); Text evaluate = s.evaluate(12); System.out.println(evaluate); } }