posts - 134,  comments - 239,  trackbacks - 0

一再——一个老网友朋友给我的例子代码。能对这种0.0756035338495136 数据格式化为7.5% 输出。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Picker Test</title>
<script type="text/javascript" >
function FormatNumber(srcStr,nAfterDot){
  
var srcStr,nAfterDot;
  
var resultStr,nTen;
  srcStr 
= ""+srcStr+"";
  strLen 
= srcStr.length;
  dotPos 
= srcStr.indexOf(".",0);
  
if (dotPos == -1){
    resultStr 
= srcStr+".";
    
for (i=0;i<nAfterDot;i++){
      resultStr 
= resultStr+"0";
    }
    
return resultStr;
  }
  
else{
    
if ((strLen - dotPos - 1>= nAfterDot){
      nAfter 
= dotPos + nAfterDot + 1;
      nTen 
=1;
      
for(j=0;j<nAfterDot;j++){
        nTen 
= nTen*10;
      }
      resultStr 
= Math.round(parseFloat(srcStr)*nTen)/nTen;
      
return resultStr;
    }
    
else{
      resultStr 
= srcStr;
      
for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
        resultStr 
= resultStr+"0";
      }
      
return resultStr;
    }
  }
}
</script>
</head>
<body>
<p>
  
<input type="button" name="Button" value="SHOW VALUE"  onclick="javascript:alert(FormatNumber(0.0756035338495136*100,2)+'%');"/>
</p>
</body>
</html> 






posted on 2007-06-02 18:34 -274°C 阅读(862) 评论(2)  编辑  收藏 所属分类: JAVASCRIPT

FeedBack:
# re: JAVASCRIPT 数据格式化
2007-06-02 21:33 | 刘甘泉
用正则,多简单的~~  回复  更多评论
  
# re: JAVASCRIPT 数据格式化
2007-06-03 01:46 | -274°C
不过我觉得这样写,可读性就更高了
<script type="text/javascript" >
function xf(Str,nAfterDotParam)
{
var Str = Str.toString();
var dot = Str.indexOf(".");
var Strlength = Str.length;

if(nAfterDotParam<=0)
{
return Str;

}
if(dot==-1)
{
Str+=".";
for(i=0;i<nAfterDotParam;i++)
{
Str +="0";
}
}
else
{
var strArray = Str.split(".");
if(strArray[1].length <nAfterDotParam)
{
for(i=0;i<nAfterDotParam-strArray[1].length;i++)
{
Str += "0";
}
}
else
{
var x =1;
for(i=0;i<nAfterDotParam;i++)
{
x=x*10;
}
Str = (Math.round(parseFloat(Str*x))/x).toString();

}
}
return Str;
}
</script>   回复  更多评论
  

标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
 
相关链接:
网站导航:

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿(11)

随笔分类(139)

随笔档案(134)

JAVA网站

关注的Blog

最新随笔

搜索

  •  

积分与排名

  • 积分 - 79908
  • 排名 - 98

最新评论

阅读排行榜

评论排行榜