如何移除价格零?



如何在react native中删除price后六个零

原价- 699卢比原价- 800卢比

API响应-₹699000000API响应-₹800000000

我试试这个。它删除了所有的零。

var numstr = 800000000
while (numstr[numstr.length-1] === "0") {           
numstr = numstr.slice(0, -1)
if (numstr[numstr.length-1] !== "0") {break;}
if (numstr[numstr.length-3] === ".") {break;}
}

你的代码的问题是条件,它处理所有的反向数字,直到第一个非零字符,没有限制。你可以保留一个循环计数器,迭代不超过6次;具有适当退出条件的for-loop在这里工作。虽然你不需要把它弄得这么复杂。

两个简单的方法:

  1. 整数除法:除1000000后6位数字。

console.log(Math.floor(800000000 / 1000000)) // 800
console.log(Math.floor(699000000 / 1000000)) // 699

  1. 字符串切片:复制除最后6个字符外的所有字符。

console.log("800000000".slice(0, -6)) // 800
console.log("699000000".slice(0, -6)) // 699

如果你需要一个更通用/无间隔的解决方案,使用for循环从末尾开始检查每个字符的非零性,并从字符串中切片,最多6|max,然后返回。

const removeUpTo6Zeros = val => {
let i;
for (i = 0; i < 6; i++) {
if (val[val.length - 1 - i] !== '0') break;
}
return i ? val.slice(0, -i) : val;
};
console.log(removeUpTo6Zeros("800000000")); // 800
console.log(removeUpTo6Zeros("699000000")); // 699
console.log(removeUpTo6Zeros("699000030")); // 69900003
console.log(removeUpTo6Zeros("699001003")); // 699001003
console.log(removeUpTo6Zeros("69900"));     // 699
console.log(removeUpTo6Zeros("69"));        // 69
console.log(removeUpTo6Zeros("6"));         // 6
console.log(removeUpTo6Zeros("0"));         // ""
console.log(removeUpTo6Zeros("00"));        // ""
console.log(removeUpTo6Zeros("000"));       // ""

相关内容

  • 没有找到相关文章

最新更新