第1个回答 2008-09-18
有一个方法很简单,保留三个小数,就是乘以1000(10的3次方),取整,再除以1000
float f = (int)Math.round(0.0346562*1000)/1000f; //(注:f表示float,省了会错)
System.out.println(f*100+"%");
第2个回答 2008-09-18
import java.text.NumberFormat;
import java.text.ParseException;
class TestNumberFormat{
public static void main(String[] args){
try{
float data = 0.0345f;
NumberFormat famatter = NumberFormat.getNumberInstance(java.util.Locale.CHINA);
famatter.setMaximumFractionDigits(3);
String sData = famatter.format(data);
System.out.println(sData);
float value = famatter.parse(sData).floatValue();
System.out.print(value);
}catch(ParseException e){
e.printStackTrace();
}
}
}
或是输出是设置System.out.printf("%.3f",0.01235);
第3个回答 2008-09-18
System.out.printf("%.3f",0.034652);
输出的时候控制一下就行了!
第4个回答 2008-09-18
protected static String result(float f){
double f1=f*1000;
int i=(int)Math.rint(f1);
String str1=String.valueOf(i);
int lenth=str1.length();
StringBuffer sb=new StringBuffer();
sb.append(str1.substring(0,lenth-1)).append(".").append(str1.substring(lenth-1,lenth)).append("%");
return sb.toString();
}
第5个回答 推荐于2016-08-10
public class Test {
public static void main(String[] args) {
double a=0.0346562 ;
float b=Math.round(a*1000);
System.out.println(b/10+"%");
}
}
------
结果:3.5%本回答被提问者采纳