Javascript-逗号后最多4位数字



如果值大于4,我正在寻找一种方法,用逗号从输入中删除最后一个数字。

示例:

值:13314556应为->133145.

有没有办法用这样的东西去掉这个数字的最后4位之后的所有数字?

let value = 13,314556
let result= value.split(',')[1].trim();
if(result.length > 4){
...
}

toFixed()

您可以调用toFixed()将数字格式化为小数位数。

有关toFixed(),请参阅MDN文档

根据上述文件中给出的示例修改:

function myFormat(x) {
return Number.parseFloat(x).toFixed(4);
}
// expected output: "13.3146" because of rounding
console.log(myFormat(13.314556));
// expected output: "0.0040"
console.log(myFormat(0.004));
// expected output: "123000.0000"
console.log(myFormat('1.23e+5'));

如果你不想四舍五入,只需更精确地剪裁得到的字符串的末尾。

function myFormat(x) {
return Number.parseFloat(x).toFixed(6).replace(/dd$/, '');
}
// expected output: "13.3145", will not do rounding
console.log(myFormat(13.314556));

如果你正在使用货币或进行类似的重要计算,可以考虑使用decimal.js.这样的库

另一种选择是乘以10000,floor it,然后除以10000。

let value = 13.314556;
value=Math.floor(value*10000)/10000;
console.log(value)

或者,如果你想通过编程控制数字的数量,你可以使用这样的东西:

let value = 13.314556;
value=Math.floor(value*Math.pow(10, 4))/Math.pow(10, 4);
console.log(value)

也许您正在寻找slice函数。

let value = "13,314556"
let result= value.split(',')[1].trim();
if(result.length > 4){
console.log(result.split('').slice(0,4).join(''))
}

我会用切片和连接方法

切片,用于根据的长度对字符串进行切片

加入以根据您的意愿重新创建号码


编辑

我添加了检查逗号是否在数字中,以及一个具有所需长度的参数

function splitNumber(num, nbAfterComa) {
const number = num.toString()
if(!number.includes('.')){
return number
}
const splitedValue = number.split('.')
splitedValue[1] = splitedValue[1].trim().slice(0, nbAfterComa);
return nbAfterComa > 0 ? splitedValue.join(',') : splitedValue[0]
}
console.log(splitNumber(13.314556, 4))
console.log(splitNumber(13.3, 4))
console.log(splitNumber(13.314556, 1))
console.log(splitNumber(13.314556, 0))
console.log(splitNumber(13, 8))

最新更新