tips: js通过[]取属性时,属性名得加双引号。
页面有输出附件大小,由于数据库里存在都是字节大小,所以在展示的时候都要进行格式化一下。
下面是采用java代码:
String filename = "";
float size=0f;
String unit="";//单位
float attchSize = Float.parseFloat(filesize);
if(attchSize<1024){
size = (float)(attchSize);
unit=" 字节";
}else{
float k = (float)(attchSize/1024);
if(k<1024){
size = (float)(k);
unit = " KB";
}else{
float m = (float)(k/1024);
if(m<1024){
size = (float)(m);
unit = " MB";
}else{
size = (float)(m/1024);
unit =" GB";
}
}
}
DecimalFormat formater=new DecimalFormat("#0.##");
filename =formater.format(size).toString();
if((filename .indexOf(".00"))!=-1){
filename =filename .substring(0,filename .indexOf(".00"));
}
filename +=unit;
不过我感觉这样写不是太好,太多if,else,并且我现在是采用Ext来做前台框架,希望通过renderer来进行格式化处理。
网上找到一个php版本的,代码如下:
<? php
function setupSize( $fileSize ) {
$size = sprintf ( " %u " , $fileSize );
$sizename = array ( " Bytes " , " KB " , " MB " , " GB " , " TB " , " PB " , " EB " , " ZB " , " YB " );
return round ( $size / pow ( 1024 , ( $i = floor ( log ( $size , 1024 )))) , 3 ) . $sizename [ $i ];
}
echo setupSize( ' 200000 ' )
?>
没接触过php,不过大概根据它代码的意思用js写出代码如下:
/*附件大小格式处理*/
function renderSize(value, p, record){
var unitArr = new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");
var index;
var srcsize = parseFloat(value);
var size =Math.round(srcsize/Math.pow(1024,(index=Math.floor(这里求log对数如何转换))),3);
return size+unitArr[index];
}
我采用Math.log(srcsize ,1024)运行根本就找不到这个方法,查看API才知道,原来js里根本就没这个方法,它只有一个Math.log(x)是固定以e为底数的。
最后才知原来可以通过任意底的对数
function lg(x,n){
return log(x)/log(n)
}
即:Math.log(x)/Math.log(1024)。
最后修改代码如下:
/*
四舍五入保留小数位数
numberRound 被处理的数
roundDigit 保留几位小数位
*/
function roundFun(numberRound,roundDigit) //处理金额 -by hailang
{
if(numberRound>=0) {
var tempNumber = parseInt((numberRound * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
return tempNumber;
}else{
numberRound1=-numberRound
var tempNumber = parseInt((numberRound1 * Math.pow(10,roundDigit)+0.5))/Math.pow(10,roundDigit);
return -tempNumber;
}
}
/*附件大小格式处理*/
function renderSize(value, p, record){
if(null==value||value==''){
return "0 Bytes";
}
var unitArr = new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");
var index=0;
var srcsize = parseFloat(value);
var size =roundFun(srcsize/Math.pow(1024,(index=Math.floor(Math.log(srcsize)/Math.log(1024)))),2);
return size+unitArr[index];
}
由于Math.round()是四舍五入截取整数,可我希望能保留两位小数,所以网上找到function roundFun(numberRound,roundDigit) 这个方法。
/*附件大小格式处理*/
function renderSize(value, p, record){
if(null==value||value==''){
return "0 Bytes";
}
var unitArr = new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");
var index=0;
var srcsize = parseFloat(value);
var quotient = srcsize;
while(quotient>1024){
index +=1;
quotient=quotient/1024;
}
return roundFun(quotient,2)+" "+unitArr[index];
}
分享到:
相关推荐
JavaScript文件格式化工具是开发人员在处理代码时不可或缺的一个实用工具。它主要用于将压缩或混乱的JavaScript代码恢复成可读性更强、遵循特定编码规范的形式。这类工具的主要目的是提高代码的可维护性和团队协作...
在JavaScript开发过程中,为了优化网页性能,我们经常会对JS文件进行格式化和压缩。格式化主要是为了让代码更易读、易维护,而压缩则是为了减少文件大小,加快页面加载速度。下面将详细介绍这两个过程。 首先,**...
6. **代码压缩**:对于生产环境,为了减少文件大小和加载时间,格式化工具可以将代码压缩为一行,移除不必要的空白和注释。 7. **代码风格转换**:允许用户在不同编码风格之间切换,例如ESLint、Airbnb等风格指南。...
"base.js", "jsformat.js", "jsformat2.js"可能是JavaScript代码格式化相关的文件,它们的作用是将无格式或混乱的JS代码转换为规范化的形式。格式化JavaScript代码可以确保每个函数、变量和语句都在适当的位置,使...
JavaScript(简称JS)和HTML是Web开发中的基础语言,它们的源代码往往需要进行格式化以保持整洁和可读性。在线格式化工具是开发者常用的辅助工具,但它们依赖网络连接,这在某些情况下可能不便。为了满足离线环境下...
3. **JavaScript代码格式化**:对于JavaScript代码,EditPlus可以智能地识别函数、变量、条件语句等,并按标准格式重新排列,使得JS代码结构清晰,便于理解和调试。 4. **代码高亮**:除了格式化,EditPlus还支持...
JavaScript压缩的主要目的是减少文件大小,从而加快页面加载速度。这通常通过删除不必要的字符,如空格、换行符、注释,以及对变量进行混淆来实现。压缩后的代码虽然难以阅读,但对浏览器来说执行效率更高。 1. ...
然而,当JS和HTML代码未经格式化时,可能会出现缩进不一致、换行混乱等问题,这不仅影响代码的可读性,还可能造成调试困难。 格式化工具通常提供以下功能: 1. **缩进调整**:用户可以根据个人喜好选择使用空格...
Dreamweaver以其强大的代码编辑器而知名,它能对包括JS在内的多种编程语言进行智能格式化和颜色高亮,提高开发效率。 使用JS代码格式化工具可以大大提高工作效率,尤其是在团队合作项目中,统一的代码风格有助于...
这样可以显著减小CSS文件大小,提高网页加载速度。例如,`css format`工具可能也包含了压缩功能,用于生产环境。 3. **HTML代码格式化**: HTML(HyperText Markup Language)是构建网页的基础。格式化的HTML代码...
- 代码格式化通常包括:添加缩进、调整换行、统一注释风格等。 2. **自动格式化工具** - **Prettier**:一款广泛使用的代码格式化工具,支持多种编程语言,包括JavaScript和CSS。它可以根据预设的规则自动格式化...
8. **代码压缩**:除了格式化,一些工具还提供代码压缩功能,通过删除空格、换行和不必要的字符来减小文件大小,提高页面加载速度。 9. **ES6+语法支持**:随着JavaScript新特性的引入,如箭头函数、模板字符串等,...
这将创建一个名为`script.js.gz`的新文件,这就是你的gzjs格式的JavaScript文件。 3. **浏览器支持**:虽然现代浏览器普遍支持自动解压Gzipped内容,但为了确保兼容性,服务器端需要设置HTTP头信息,告知浏览器...
在Notepad++的菜单栏中,选择"Plugins" -> "JS Tool",你将看到一系列的选项,如"Format JS"(格式化JavaScript)、"JS Minify"(压缩JavaScript)等。 这里特别提到了"JSMinNPP.dll"文件,它是jstool插件的一部分...
- 保存设置后,项目中的所有JavaScript文件都将按照设定的规则进行格式化。 #### 四、总结 通过本文介绍的方法,开发者可以轻松地使用Eclipse来格式化Java和JavaScript代码。无论是使用默认设置还是自定义格式化...
【JS-HTML格式化工具代码】是一个用于web前端开发的实用工具,主要功能是帮助开发者对JavaScript和HTML代码进行格式化和压缩。这个工具的Web源码版本可以在任何支持HTML5的现代浏览器中直接运行,无需额外安装,极...
8. **代码压缩**:除了格式化,有些工具还提供代码压缩功能,去除不必要的空白字符和注释,减小文件大小,提高加载速度。 "jb51.net 脚本之家.htm"和"JSer javascript格式化 jb51.net 脚本之家_files"可能是指一个...
3. **代码压缩**:除了基本的格式化功能,JSci还具备代码压缩能力,可以去除代码中的多余空白和注释,减小文件大小,提升网页加载速度。 4. **错误检查**:在格式化过程中,JSci可能还会检查代码中的语法错误,帮助...
1. **大文件支持**:JSONedit设计时考虑了处理大JSON文件的能力,即使文件大小超出了一些常见JSON查看器的限制,也能流畅地进行解析和格式化。 2. **实时编辑**:用户可以实时编辑JSON内容,修改后的数据会立即以...