java中int相除取小数点后两位或限定位数

java 两个整数相除保留两位小数:

 http://blog.sina.com.cn/s/blog_624d755d0101cvuq.html

java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数,必须将两整数其一或是两者都强制转换为浮点数。
例如:
(float)a/b // 将整数其中一个强制转换为浮点数,再与另一个整数相除
a/(float)b
(float)a/(float)b // 将两个整数同时强制转换为浮点数后再相除

Java代码  

  1. float num= (float)2/3;   
  2. DecimalFormat df = new DecimalFormat("0.00");//格式化小数   
  3. String s = df.format(num);//返回的是String类型 

 

 

将小数转化为百分数:

import java.text.NumberFormat;

public class TeachYou {

public static void main(String[] args) {

   //这里的数后面加“D”是表明它是Double类型,否则相除的话取整,无法正常使用
   double percent = 50.5D / 150D;

   //输出一下,确认你的小数无误
   System.out.println("小数:" + percent);

   //获取格式化对象
   NumberFormat nt = NumberFormat.getPercentInstance();

   //设置百分数精确度2即保留两位小数
   nt.setMinimumFractionDigits(2);

   //最后格式化并输出
   System.out.println("百分数:" + nt.format(percent));

}
}

 

取限定位数

 

// 创建一个数值格式化对象 
  NumberFormat nt = NumberFormat.getInstance(); 
  // 设置精确到小数点后2位 
  nt.setMinimumFractionDigits(2); 
  nt.setMaximumFractionDigits(2); 
nt.format((float) a / (float) count);

posted @ 2017-12-11 15:33  与君共行之  阅读(17575)  评论(1编辑  收藏  举报