读书人

如何把int型的数值处以1024后保留1位

发布时间: 2012-09-23 10:28:11 作者: rapoo

怎么把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); 

读书人网 >J2EE开发

热点推荐