int a;
int b;
float c=a/b;
System.out.println(100*c+"%");

解决方案 »

  1.   

    楼上写的有个问题问题出在 float c=a/b;
     
    还必须转换一下数据类型才行 否则的话 得不到正确的值 float c = (float)a/b;
      

  2.   

    JAVA中对算术表达式进行精度自动提升,可以像楼上所说操作
      

  3.   

    float c=a/b;
    假如a=4,b=5 那么 a/b应该得到0 然后再把0赋给左边的float型 c 这个时候才进行转换从int的0变成float的0.0
    最终c得到的是0.0你可以试一下
      

  4.   

    int a;
    int b;
    float c=((float)a*100)/b;
    System.out.println(c+"%");
      

  5.   

    int a;
    int b;
    float c = (float)a/b; //  可以不要float
    float a;
    float b;
    int c=(int)a/b;//必须要int总之要保证精度
      

  6.   

    楼上的此言差矣
    float c = (float)a/b; //  可以不要float????????
    和float c=a/b; //这里是相当于 int temp=a/b; float c=temp; 
    两者差别大了.假设a=3,b=2
    第一种情况是1.5
    第二种应该是1
      

  7.   

    import java.text.*;public class PrecisionText
    {
    public static void main(String[] args)
    {
    double a=5.0;
    double b=6.0;
    NumberFormat formatter=NumberFormat.getPercentInstance();
    String s=formatter.format(a/b);
    System.out.println(s);
    }
    }
      

  8.   

    int a = 4,b=5;
    float a1=a,b1=b;
    System.out.println(a1*100/b1);
      

  9.   

    float c = (float)a/b; 
              ^^^^^^^这里是不能少的,赫赫
      

  10.   

    int a = 4,b=7;
    System.out.println(((float)a*100)/((float)b));
      

  11.   

    java在数值处理上精度不是很高,要想得到高精度,最好用BigDecimal类。
      

  12.   

    多谢楼上的兄弟。分不多大家就分一下吧。^_^
    我试过了,float f  = (float)a/b得到了正确的值。
    用NumberFormat nf = NumberFormat.getPercentInstance();
    nf.format(4.0/5.0)得到0值。
    我本来是用BigDecimal类的,但小数点不知怎么控制位数。知道的告诉一下,多谢!
      

  13.   

    DecimalFormat df = ne DecimalFormat("#.00");