JS对文件大小的格式化等

tips: js通过[]取属性时,属性名得加双引号。
页面有输出附件大小,由于数据库里存在都是字节大小,所以在展示的时候都要进行格式化一下。
下面是采用java代码:
Java代码 复制代码 收藏代码
  1. String filename = "";
  2. float size=0f;
  3. String unit="";//单位
  4. float attchSize = Float.parseFloat(filesize);
  5. if(attchSize<1024){
  6. size = (float)(attchSize);
  7. unit=" 字节";
  8. }else{
  9. float k = (float)(attchSize/1024);
  10. if(k<1024){
  11. size = (float)(k);
  12. unit = " KB";
  13. }else{
  14. float m = (float)(k/1024);
  15. if(m<1024){
  16. size = (float)(m);
  17. unit = " MB";
  18. }else{
  19. size = (float)(m/1024);
  20. unit =" GB";
  21. }
  22. }
  23. }
  24. DecimalFormat formater=new DecimalFormat("#0.##");
  25. filename =formater.format(size).toString();
  26. if((filename .indexOf(".00"))!=-1){
  27. filename =filename .substring(0,filename .indexOf(".00"));
  28. }
  29. filename +=unit;

不过我感觉这样写不是太好,太多if,else,并且我现在是采用Ext来做前台框架,希望通过renderer来进行格式化处理。
网上找到一个php版本的,代码如下:
Java代码 复制代码 收藏代码
  1. <? php
  2. function setupSize( $fileSize ) {
  3. $size = sprintf ( " %u " , $fileSize );
  4. $sizename = array ( " Bytes " , " KB " , " MB " , " GB " , " TB " , " PB " , " EB " , " ZB " , " YB " );
  5. return round ( $size / pow ( 1024 , ( $i = floor ( log ( $size , 1024 )))) , 3 ) . $sizename [ $i ];
  6. }
  7. echo setupSize( ' 200000 ' )
  8. ?>   
posted on 2013-02-22 19:49  蜜雪薇琪  阅读(332)  评论(0编辑  收藏  举报