float型的 amount 和 com 两个变量com = ( float )amount / 0.08;
这样还是会报错(精度损失)!!该怎样进行转换呢??

解决方案 »

  1.   

    你应该这样写:
    public class Test { public static void main(String[] args) {
    float com = (float) 5.0, amount = (float) 9.0;
    com = (float) (amount / 0.08);
    }}
      

  2.   

    public class Test {    public static void main(String[] args) {
            float com = 5.0f, amount = 9.0f;
            com = (float) (amount / 0.08);
        }}这样也行
      

  3.   


    命令System.out.println(2.0-1.1)将打印0.89999999999999,而不是0.9 
    主要原因是浮点数值采用二进制系统表示,而二进制系统中无法精确表示分数1/10.
    就像十进制无法精确表示1/3一样。
    如果需要在数值计算中不含有任何舍入误差,就应该用BigDecimal类
      

  4.   

    哎·~忘记了  JAVA 默认是double 类型的~~
      

  5.   

    尤其算比较重要的数据,用BigDecimal啊,好办多了