gpt4 book ai didi

javascript - 将指数值打印为字符串而不扩展

转载 作者:行者123 更新时间:2023-11-29 19:15:18 25 4
gpt4 key购买 nike

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>

我的确切目标是知道是否有任何方法可以在不更改的情况下存储/写入相同的值。那么获取原始值的确切方法是什么。

谢谢!

最佳答案

My exact objective was to know that if there is any way I can get the same value stored/wrote without change.So what is the exact way to get my original value.

不,该信息丢失。 JavaScript 中的科学记数法是为了让源代码中一些数(很大/很小)的表达更清晰。如果您打算始终了解如何以特定表示法定义该值,您将需要使用字符串或附加一些额外信息来存储它。

但是,这里有一个函数将数字的尾部 0 转换为等效的 eN,表示法在 JavaScript 中如何处理数字。

var convertNumToExpStr = function(number) {
return String(number).replace(/0+$/, function(all) {
return 'e' + all.length;
});
};

document.body.textContent = convertNumToExpStr(123e5);

关于javascript - 将指数值打印为字符串而不扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35839104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com