Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数字中的前导零和尾随零_Javascript_Node.js_Typescript - Fatal编程技术网

Javascript 数字中的前导零和尾随零

Javascript 数字中的前导零和尾随零,javascript,node.js,typescript,Javascript,Node.js,Typescript,我正在从事一个项目,我需要以以下方式格式化传入的数字: ###.### 然而,我注意到了一些意想不到的结果。 在我没有收到错误的情况下,以下方法有效: console.log(07); //就我而言: 控制台日志(007)1)007.000是一个语法错误,因为007是一个八进制,然后在它后面附加一个浮点部分。(尝试console.log(010)。这将打印8。) 2) 以下是您如何使用 var myformat=new Intl.NumberFormat('en-US',{ 最小整数位数:

我正在从事一个项目,我需要以以下方式格式化传入的数字:

###.###
然而,我注意到了一些意想不到的结果。 在我没有收到错误的情况下,以下方法有效:

console.log(07);
//就我而言:
控制台日志(007)
1)
007.000
是一个语法错误,因为007是一个八进制,然后在它后面附加一个浮点部分。(尝试
console.log(010)
。这将打印8。)

2) 以下是您如何使用

var myformat=new Intl.NumberFormat('en-US',{
最小整数位数:3,
最小分数位数:3
});
console.log(myformat.format(7));//打印007.000
Hi

可以使用使用字符串函数的aproach.split.padStart和.padEnd

在MDN上搜索

这里有一个例子:

常数x=12.1;
函数formatNumber(未格式化的数字){
const desiredDecimalPad=3;
const desired nondecimalpad=3;
const unformatedNumber字符串=unformatedNumber.toString();
const unformatedNumberArr=unformatedNumberString.split('.');
const decimalStartPadded=unformatedNumberArr[0]。padStart(desiredDecimalPad,'0');
const nondecimalindpadded=unformatednumberar[1]。padEnd(desiredNonDecimalPad,'0');
const formattednumberstring=decimalstartAdded+'。+非指定填充;
返回格式化的NumberString;
}

console.log(formatNumber(x))
“以下工作”您能定义一下这是什么意思吗?因为您没有在输出中获得编号
07
007
。它“工作”的方式是它不会抛出错误。我不知道你为什么要写
007.000
——这显然是一个语法错误(我直到现在才知道),但更重要的是,这是没有用的,因为你最多只能写出
7
。如图2所示)——你无法逃脱字符串。JS数字将仅以JS想要的方式表示。它不捕获您使用的格式,因此
7
7.0
7.000
是相同的值。这对于我所知道的任何语言都是正确的-原语需要单独的格式。我想这只会在没有那些
0
s的情况下显示。在内部它仍然是一样的,但是为什么不使用字符串呢?如果你想显示数字,字符串是可以的,如果你做
3*7.00
3*7
等等,它在计算上也没有什么区别……相关:@VLAZ tbh,我只是在试验我能做什么,不能做什么,只是遇到了这个。我知道最终7.0将被视为7。我正在寻找一种方法来防止将诸如“quantity”之类的属性存储为字符串值,因为这对我来说没有意义。此函数将返回一个字符串,您可以在前端使用该字符串,只要您想显示格式化的变量。您不需要保存在后端格式化的数字(我认为…)