首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么提取小数部分

2011-12-28 
如何提取小数部分?请问一下各位:longl1234.567L如何提取l的整数部分和小数部分,在Math类中找了一下,好象

如何提取小数部分?
请问一下各位:
  long   l=1234.567L;
如何提取l的整数部分和小数部分,
在Math类中找了一下,好象有提取整数方法,但是却没有找到有关提取小数部分的方法?我应该怎样提取小数?   谢谢!

[解决办法]
既然有提取整数的方法,那原数减去整数部分不就是小数部分了?
或者:
double d =l -(int)l;
[解决办法]
你可以将它先转化为string类型的变量,然后通过string中的substring进行截取..得到小数点以及后面的小数部分...不过这样可能很麻烦...例如你上面的.567,再通过 "0 "+ ".567 "应该能得到
"0.567 ",再通过string中的方法将它转成long型的...给你做个参考..应该还有更优的方法可以实现~~~
[解决办法]
long l=1234.567L; ????
float/double l=1234.567L; !!!

问题方法如上(F1,2)
[解决办法]
L是长整型吧,怎么会有小数部分???
[解决办法]
可以先转换为String 然后用spilt( ". ")进行拆分。可以得到整数和小数部分。
[解决办法]
用spilt( ". ")进行拆分
[解决办法]
/**
*
* @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();
}

热点排行