怎样简洁语句实现:12 -> 12.00 , 15.1 -> 15.10 , 0 -> 0.00 拿VBScript的FormatNumber做个包装再在javascript里调用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看到一个方法,太复杂了.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; } }} to chucb(chucb) 好像没有这个函数。 是asp程序嘛?是的话,肯定可以,我用过n编了,如果是vbscript的话可以这样<scritp....>a=<%=formatnumber(i,2)%></script>不过我不知道a变量是否会自动舍去小数点后面的0 这里是 JavaScript 论坛啊,当然是 JavaScript 的实现方法。 那就按照我说的做<scritp language=javascript>a='<%=formatnumber(i,2)%>';</script> 我的代码不在 ASP 中运行,是纯 JavaScript 静态代码,还是谢谢 chucb(chucb) 的回复。 看来是没有什么捷径,我写了如下代码来用:function FormatNumber(num,nAfterDot){ var rtn=num.toString(); var a=rtn.lastIndexOf("."); if(a==-1) { rtn+="."; a=rtn.length-1; } for(var i=rtn.length-a-1;i<nAfterDot;i++)rtn+="0"; return rtn;} 简单的问题 写个JavaScript控制生成表格(GridView)的类 JS 输出文本或CSS 请教高手,关于一个页面两个iframe数据交互的问题?? jqgrid 获取json对象问题 帮我看看这个javascript吧 谁能提供一个javascript 编写的软件呢??? img 的src 用css 怎么写? 如何用JavaScript直接发送一段文本到指定的信箱? 頁面隱含密碼 怎样用JavsScript控制本文框的数量? window.open函数?
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;
}
}
}
好像没有这个函数。
a=<%=formatnumber(i,2)%>
</script>不过我不知道a变量是否会自动舍去小数点后面的0
<scritp language=javascript>
a='<%=formatnumber(i,2)%>';
</script>
function FormatNumber(num,nAfterDot)
{
var rtn=num.toString();
var a=rtn.lastIndexOf(".");
if(a==-1)
{
rtn+=".";
a=rtn.length-1;
}
for(var i=rtn.length-a-1;i<nAfterDot;i++)rtn+="0";
return rtn;
}