念念不忘
必有回响

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"); //转换完成后依旧是科学计数法,猜测是值太大了?
赞(1) 打赏
未经允许不得转载:码农志 » JavaScript科学计数法转float类型
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏