我正在做一个项目,我需要按以下方式格式化传入的数字:
###.###
Run Code Online (Sandbox Code Playgroud)
然而,我注意到了一些我没想到的结果。从我没有收到错误的意义上说,以下是有效的:
当然,它不会在值本身中保留“00”,因为该值实际上是 7。
以下情况也是如此:
console.log(07);
// or in my case:
console.log(007);Run Code Online (Sandbox Code Playgroud)
JavaScript 理解我在做什么,但最终实际值将是 7,这可以通过以下方式证明:
console.log(7.0);
// or in my case:
console.log(7.000);Run Code Online (Sandbox Code Playgroud)
但我觉得奇怪的是:当我将这两者结合起来时,我得到了一个语法错误:
// but not this:
console.log(007.000);
Run Code Online (Sandbox Code Playgroud)
1)有人可以解释为什么这不起作用吗?
我正在尝试找到一种解决方案,在不使用字符串的情况下以精确的精度存储数字/浮点数。
2) 在 JS/NodeJS 甚至 TypeScript 中有没有办法在不使用字符串的情况下做到这一点?
我目前想要做的是接收输入,扫描格式并将其存储为单独的属性,然后解析传入的值,因为parseInt('007.000')确实有效。当用户想要获得这个值时,将它返回给用户......在一个字符串中......不幸的是。