您的位置:程序门 -> java -> j2se / 基础类



如何提取小数部分?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


如何提取小数部分?
发表于:2007-04-11 11:57:36 楼主
请问一下各位:
  long   l=1234.567l;
如何提取l的整数部分和小数部分,
在math类中找了一下,好象有提取整数方法,但是却没有找到有关提取小数部分的方法?我应该怎样提取小数?   谢谢!
发表于:2007-04-11 12:20:341楼 得分:0
既然有提取整数的方法,那原数减去整数部分不就是小数部分了?
或者:
double     d   =l   -(int)l;
发表于:2007-04-11 12:51:382楼 得分:0
你可以将它先转化为string类型的变量,然后通过string中的substring进行截取..得到小数点以及后面的小数部分...不过这样可能很麻烦...例如你上面的.567,再通过 "0 "+ ".567 "应该能得到
"0.567 ",再通过string中的方法将它转成long型的...给你做个参考..应该还有更优的方法可以实现~~~
发表于:2007-04-11 15:36:403楼 得分:0
long   l=1234.567l;     ????
float/double   l=1234.567l;   !!!

问题方法如上(f1,2)
发表于:2007-04-11 15:40:514楼 得分:0
l是长整型吧,怎么会有小数部分???
发表于:2007-04-11 15:44:325楼 得分:0
可以先转换为string   然后用spilt( ". ")进行拆分。可以得到整数和小数部分。
发表于:2007-04-11 16:17:566楼 得分:0
用spilt( ". ")进行拆分
发表于:2007-04-11 16:30:567楼 得分:0
/**
  *  
  *   @param   value   要四舍五入的值
  *   @param   scale   小数点后要取的位数
  *   @return
  */
public   static   double   round(double   value,int   scale){
bigdecimal   bd=new   bigdecimal(value);
//bigdecimal   divisor=new   bigdecimal(1);
//bigdecimal   returnvalue=bd.divide(divisor,   scale,bigdecimal.round_half_up);
bigdecimal   returnvalue=bd.setscale(scale,   bigdecimal.round_half_up       );
return   returnvalue.doublevalue();
}


快速检索

最新资讯
热门点击