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

时间:2014-11-21 15:28:33

标签: javascript jquery math number-formatting

使用Javascript Math我可以将像100这样的十进制数转换为十进制功率数,如1e + 2

Math.pow(10, 2)

但是我怎么能这样做呢?如何将像1e + 2这样的十进制幂转换为100的常规小数?我需要这个来保存数据库号列中的数字。 我找不到任何方法或jquery插件来为我做这件事。

3 个答案:

答案 0 :(得分:3)

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

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

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.

答案 1 :(得分:1)

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

字符串"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

当您想在数据库中存储数值时,数字来自何处并不重要,它只是所使用的数值本身。

答案 2 :(得分:0)

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>
&#13;
&#13;
&#13;