保留2位小数

m16jerry 2005-03-04 10:26:16
int a=10000;
int b=20000;
a/b
我想保留2位小数,请问各位帮帮忙;解决就给分
...全文
3673 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhua0420 2010-06-02
  • 打赏
  • 举报
回复
谢谢,我的问题,已解决.
liuhua0420 2010-06-02
  • 打赏
  • 举报
回复
谢谢,我的问题,已解决.
angues1980 2005-03-04
  • 打赏
  • 举报
回复
import java.text.*;
class Test2
{
public Test2()
{
double a=10000;//要用double型,要不a/b永远得0;
double b=20000;
NumberFormat nbf=NumberFormat.getInstance();//新建一个格式化器对象
nbf.setMinimumFractionDigits(2);//设置最小保留两位小数
nbf.setMaximumFractionDigits(2);//设置最大保留两位小数
String c = nbf.format(a/b);//将a/b格式化后的值赋给c,注意是String型
System.out.println(c);
}

public static void main(String[] args)
{
Test2 test2 = new Test2();
}
}
myth822 2005-03-04
  • 打赏
  • 举报
回复
public class Arith {

private static final int DEF_DIV_SCALE = 10;

private Arith() {

}

/**
* 提供精確的加法運算
* @param args
*/
public static double add(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}

/**
* 提供了精確的減法運算
*
* @param args
*/
public static double sub(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}

/**
* 提供了精確的乘法運算
* @param args
*/
public static double mul(double v1, double v2) {
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}

/**
* 提供了(相對)精確的除法運算,當發生除不儘的情況時,精確到
* 小數點以後110位
* @param args
*/
public static double div(double v1, double v2) {
return div(v1, v2, DEF_DIV_SCALE);
}

/**
* 提供了(相對)精確的除法運算,當發生除不儘的情況時,由scale參數指定
* 精度,以後的數字四捨五入
* @param args
*/
public static double div(double v1, double v2, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}

/**
* 提供了精確的小數位四捨五入處理
* @param args
*/

public static double round(double v, int scale) {
if (scale<0) {
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_DOWN).doubleValue();
}

public static void main(String[] args) {
System.out.println(add(1.2321231, 3.7865765));
System.out.println(sub(6.4523423, 1.2321231));
System.out.println(mul(6.4523423, 3.7865765));
System.out.println(div(6.4523423, 3.7865765, 5));
System.out.println(round(3.7865765, 5));
}
}
angues1980 2005-03-04
  • 打赏
  • 举报
回复
import java.text.*;
class Test2
{
public Test2()
{
double a=10000;//要用double型,要不a/b永远得0;
double b=20000;
NumberFormat nbf=NumberFormat.getInstance();
nbf.setMinimumFractionDigits(2);
String c = nbf.format(a/b);
System.out.println(c);
}

public static void main(String[] args)
{
Test2 test2 = new Test2();
}
}

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧