java 取两位小数 不要四舍五入怎么做?

2024-11-23 11:33:49
推荐回答(5个)
回答1:

  1. 对一个小数点后有多位数的实数,取两位小数而不四舍五入,有两种方案:

  2. 乘100再强转成int,再除以100就得到了想要的数

  3. 也可以写一个小工具,以便以后重复使用,代码如下:

  4. 	/**
     * a为一个带有未知位小数的实数
     * 对其取b位小数
     * @param a
     * @param b
     * @return
     */
    static double getDouble(double a,int b){
    int x=0;
    int y=1;
    for(int i=0;i     y=y*10;
    }
    System.out.println(y);
    x=(int)(a*y);
    System.out.println("x="+x);
    return (double)x/y;
    }

回答2:

public class t {

/**
* @param args
*/
public static void main(String[] args) {
System.out.print(GetNum("12.2345"));
}
public static String GetNum(String str)
{
//System.out.println(str.indexOf("."));
str=str.substring(0,str.indexOf("."))+str.substring(str.indexOf("."),str.indexOf(".")+3);
return str;

}
}
看看吧,这是最笨的方法。但通俗易懂。

回答3:

乘以100, 取整, 在除以100

回答4:

(double)((int)(1.98778*100/1))/100

回答5:

NumberFormat formatter = new DecimalFormat("#0.00");
double money = 100550000.75;
formatter.format(money);