1. 程式人生 > >JavaScript科學計數法轉float型別

JavaScript科學計數法轉float型別

現有一個需求,是將1.337069262154058e-5轉換為浮點數,喜歡用java轉換,JS又是我的不擅長的地方,只能求助於Google,搜了好幾個都無法實現,最後將找到一個,簡單的修改如下:

/*科學計數法轉換數值*/
function scientificToNumber(tempValueStr) {
    if ((tempValueStr.indexOf('E') != -1) || (tempValueStr.indexOf('e') != -1)) {
	var regExp = new RegExp('^(((\\d+.?\\d+)|(\\d+))[Ee]{1}((-(\\d+))|(\\d+)))$', 'ig');
	var result = regExp.exec(tempValueStr);
	var resultValue = "";
	var power = "";
	if (result != null){
	    resultValue = result[2];
	    power = result[6];
	    result = regExp.exec(tempValueStr);
	}
        if (resultValue != "") {
	    if (power != "") {
		var powVer = Math.pow(10, power).toString();
		alert("10的" + power + "次方[" + powVer + "]");
		resultValue = (resultValue * powVer).toString();
	    }
	}
    }
}

測試結果

scientificToNumber("1.337069262154058e-5"); //轉換正確
scientificToNumber("1.337069262154058e-8"); //轉換完成後依舊是科學計數法,猜測是值太大了?