var y = 123e5;
console.log(y); // output: 12300000
上面的代码有一个数字变量y
,我得到的输出是12300000
。我想将它显示为相同但是作为一个字符串。输出应该是' 123e5'并且值的类型也是字符串。这个问题的要求是我不希望JS在我需要之前操作我的数据。如果确实如此,那么可能还有一种方法可以获得我存储/写入的确切值。
y
的测试值也可以视为1023e5
,1023e+5
,1023e+5
,10230e+5
。
<!DOCTYPE html>
<html>
<body>
<pre>
<script>
var y = 123e5;
document.writeln(y);
document.writeln(123e5);
document.writeln(123e+5);
document.writeln(123e-5);
document.writeln(1230e-5);
</script>
</pre>
</body>
</html>
&#13;
我的确切目标是知道如果有任何方法我可以获得相同的值存储/写入而无需更改。那么获取原始值的确切方法是什么。
谢谢!
答案 0 :(得分:3)
我的确切目标是知道如果有任何办法我可以得到 存储/写入的相同值没有变化。什么是准确的获取方式 我的原始价值。
不,该信息丢失。 JavaScript中的科学记法是为了更清楚地表达源代码中的一些难点数字(非常大/小)。如果您打算始终知道如何以特定表示法定义值,则需要使用字符串或附加一些额外信息来存储它。
但是,这里有一个函数可以将一个数字的尾随0
转换为eN
等价物,这个符号在JavaScript中的数字是如何工作的。
var convertNumToExpStr = function(number) {
return String(number).replace(/0+$/, function(all) {
return 'e' + all.length;
});
};
document.body.textContent = convertNumToExpStr(123e5);