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

四舍五入使用Math.rint()怎么确定小数位数

2011-12-18 
四舍五入使用Math.rint()如何确定小数位数比如下面这个小程序的结果为2,我想得到2.4该怎么改呢.请给出改后

四舍五入使用Math.rint()如何确定小数位数
比如下面这个小程序的结果为2,我想得到2.4该怎么改呢.请给出改后的程序.
public   class   Ma
{
public   static   void   main(String   args[])
{
double   k,i;
i=2.3+0.06;;
k=Math.rint(i);
System.out.println( "结果为: "+i);
}
}

[解决办法]
sf
[解决办法]
public static double rint(double a)返回其值最接近参数并且是整数的 double 值。如果两个整数的 double 值都同样接近,那么结果取偶数。特殊情况是:
如果参数值是整数,那么结果就是该参数。
如果参数是 NaN 或无穷大或正零或负零,那么结果与参数相同。

参数:
a - double 值。
返回:
最接近 a 的整数浮点值

-------------------------

lz用错了吧~
[解决办法]
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(2);
formatter.setMinimumFractionDigits(2);
string s = formatter.format(3.236)
[解决办法]
new BigDecimal(i).setScale(1, BigDecimal.ROUND_HALF_UP)..doubleValue();
[解决办法]
new BigDecimal(i).setScale(1, BigDecimal.ROUND_HALF_UP)..doubleValue();
==============================
这个比较准确,否则会出现只返回偶数位的情况,不信试试NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(2);
formatter.setMinimumFractionDigits(2);
string s = formatter.format(3.225)

此时得到的是3.22而不是四舍五入想得到的3.23

[解决办法]
import java.text.DecimalFormat;

public class Ma
{
public static void main(String args[])
{
DecimalFormat df= new DecimalFormat( "#0.0 ");

double k,i;
i=2.3+0.06;;

System.out.println(df.format(i));
}
}
//你试试!
[解决办法]
import java.text.DecimalFormat;

public class DD {

public static void main(String args[])
{
double k,i;
k=2.36;
DecimalFormat df=new DecimalFormat( "#.# ");

System.out.println( "结果为: "+df.format(k));
}
}

热点排行