- 註冊時間
- 2004-7-30
- 線上時間
- 8508 小時
- 閱讀權限
- 100
- 積分
- 278
- 主題
- 40
- 精華
- 0
- 文章
- 435
TA的每日心情 | 怒 2011-7-27 14:39 |
---|
簽到天數: 4 天 連續簽到: 1 天 [LV.2]偶爾看看I - 文章
- 435
|
Re: [求助] JavaScript數字計算
實用的Javascript 的位數轉換範例.
-----------------------------------------------------------------------------------
var NDIGITS = 16;
var entered = true;
function format(value){
var valStr = "" + value;
if (valStr.indexOf("N") >= 0 ||
(value == 2*value && value == 1+value))
return "Error ";
var i = valStr.indexOf("e")
if (i >= 0) {
var expStr = valStr.substring(i+1, valStr.length);
if (i > 11) i = 11;
valStr = valStr.substring(0, i);
if (valStr.indexOf(".") < 0) valStr += ".";
valStr += " " + expStr;
}
else {
var valNeg = false;
if (value < 0) {
value = -value;
valNeg = true;
}
var valInt = Math.floor(value);
var valFrac = value - valInt;
var prec = NDIGITS - (""+valInt).length - 1;
if (! entered && fixed>0)
prec = fixed;
var mult = " 1000000000000000000".substring(1, prec+2);
var frac = Math.floor(valFrac * mult + 0.5);
valInt = Math.floor(Math.floor(value * mult + .5) / mult);
if (valNeg)
valStr = "-" + valInt;
else
valStr = "" + valInt;
var fracStr = "00000000000000" + frac;
fracStr = fracStr.substring(fracStr.length-prec, fracStr.length);
i = fracStr.length - 1;
if (entered || fixed==0) {
while (i >= 0 && fracStr.charAt(i) == "0")
--i;
fracStr = fracStr.substring(0, i+1);
}
if (i >= 0) valStr += "." + fracStr;
}
return valStr;
}
document.write(format(4.1*100));
[ Last edited by sgon on 2005-12-23 at 19:00 ] |
|