日期:2014-05-19  浏览次数:20778 次

怎么把int型的数值,处以1024后保留1位小数
我用int len = FileInputStream.read(filename)的方法得到了文件大小14022字节,怎么转化成13.6KB的形式。


我用了下面的方法,但是结果不对???


Java code

            int len = input.read(buffer, 0, buffer.length);
            double tmp = (Math.round(((double)len / 1024.00)*100))/100.00;





------解决方案--------------------
Java code

    public static String bytes2kb(long size) {
        DecimalFormat df = new DecimalFormat("###.##");
        float f;
        if (size < 1024 * 1024) {
            f = (float) ((float) size / (float) 1024);
            return (df.format(new Float(f).doubleValue()) + "KB");
        } else {
            f = (float) ((float) size / (float) (1024 * 1024));
            return (df.format(new Float(f).doubleValue()) + "MB");
        }
    }

    public static void main(String[] args) {

        System.out.println(bytes2kb(14022));
    }

------解决方案--------------------
探讨
我在main里这样写的,怎么输出的不是string呢?

------解决方案--------------------
Java code


int i = 14022 ;
    i = i*10/1024;
    double d = i/10d ;
    System.out.println(d);