繁体   English   中英

Javascript将十进制幂转换为常规十进制

[英]Javascript convert decimal power to regular decimal

我可以使用Javascript Math将十进制数(如100)转换为十进制幂数(如1e + 2)

Math.pow(10, 2)

但是,我该如何反过来呢? 如何将小数幂(例如1e + 2)转换为常规小数(例如100)? 我需要将其保存在数据库编号列中。 我找不到任何方法或jquery插件将为我做到这一点。

您在上面显示的表达式Math.pow(10, 2)实际上计算为100

但是,如果给定字符串1e+2 ,则可以通过调用parseFloat()将其更改为100

 var s = '1e+2', // This is a string in scientific notation. x = parseFloat(s); // Here we convert it to the more widespread notation. document.write('"'+s+'" -> '+x); // Let's print out the values for testing purposes. 

您所说的是数字格式,而不是数字。

字符串"100"是数字100的文本表示形式。 字符串"1e+2"是相同数字的文本表示形式,但采用科学格式。

数值没有任何特定格式。 此代码中变量abc中的值完全相同:

var a = 100;
var b = Math.pow(10, 2);
var c = 1e+2;

当您创建数字的文本表示形式时,数字值只会获得特定的格式。 我将上面示例中的变量编码为文本:

console.log(a);
console.log(b);
console.log(c);

由于这些值不会太小或太大而无法以常规十进制格式表示,因此它们是这样产生的:

100
100
100

当您要将数字值存储在数据库中时,数字的来源无关紧要,只使用数字值本身。

Math.pow(x, y)实际上返回x ^ y的结果。 在您的特定情况下,它以科学计数法表示,但实际数字仍为100。如果您有字符串并想要获取实际数字,则可以使用:

Number("1e+2")

 $("#result").append(Number("1e+2")); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="result"></div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM