Import Java.math.BigDecimal;
Import Org.apache.hadoop.hive.ql.exec.UDF;
* * This method returns the corresponding value of the BigDecimal type of a numeric value of type Double, where the style returned is a string type/public
class udfcastdouble extends UDF
{public
String evaluate (double number)
{
//doublevalue () is the original value for the double, because number is the encapsulated class object of double, is not a value
BigDecimal db = new BigDecimal (Number.doublevalue ());
The Toplainstring () method is the string
Stringnumber = db.toplainstring ()
, which returns the value of the BigDecimal without the digit segment. return stringnumber;
}
Use the main method to test 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));
}
Test results:
2.000999999999999889865875957184471189975738525390625
2