代碼如下 |
複製代碼 |
function formatnum(prmnum,prmptn,prmnullvalue){ var nullvalue = prmnullvalue ? prmnullvalue : 0; if(prmnum == "" || prmnum == null) return nullvalue; prmnum = prmnum.replace(/,/g,""); if(isnan(prmnum)) return nullvalue; if(prmptn == "" || prmptn == null) return prmnum; var ptnlen = prmptn.length; var pointindex = prmptn.indexof("."); var groupindex = prmptn.indexof(","); var pointlen = (pointindex == -1 ? 0 : ptnlen - pointindex - 1); prmnum = parsefloat(prmnum).tofixed(pointlen) + ""; if(groupindex != -1){ if(pointindex == -1) pointindex = ptnlen; var len = pointindex - groupindex - 1; var reg = new regexp("(-?d+)(d{"+len+"})"); while(reg.test(prmnum)) prmnum = prmnum.replace(reg,"$1,$2"); } return prmnum; } |
定義和用法
parsefloat() 函數可解析一個字串,並返回一個浮點數。
文法
parsefloat(string)
傳回值
返回解析後的數字。
提示和注釋
注釋:只有字串中的第一個數字會被返回。
注釋:開頭和結尾的空格是允許的。
提示:如果字串的第一個字元不能被轉換為數字,那麼 parsefloat() 會返回 nan。
提示:如果只想解析數位整數部分,請使用 parseint() 方法。
執行個體
在本例中,我們將使用 parsefloat() 來解析不同的字串:
<script type="text/網頁特效">document.write(parsefloat("10")) document.write(parsefloat("10.00")) document.write(parsefloat("10.33")) document.write(parsefloat("34 45 66")) document.write(parsefloat(" 60 ")) document.write(parsefloat("40 years"))document.write(parsefloat("he was 40"))</script>
輸出:
101010.33346040nan