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);

上一篇:【转】Ext.ajax.request 中的success和failure


下一篇:安卓TV开发(前言)— AndroidTV模拟器初识与搭建