念念不忘
必有回响

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) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《JavaScript科学计数法转float类型》
文章链接:https://www.cco.xyz/archives/127
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

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

支付宝扫一扫打赏

微信扫一扫打赏