如果数字前面有减号,如何将其格式化为 Lac 或 Crores

2024-03-03

将数字转换为十万千万卢比 https://en.wikipedia.org/wiki/Indian_numbering_system仅适用于正数。
尝试转换为字符串并返回,但这对我不起作用。
我还需要转换负数,例如-330000应该转换为-3.30 Lac

function numDifferentiation(val) {
  if (val >= 10000000) {
    val = (val / 10000000).toFixed(2) + ' Cr';
  } else if (val >= 100000) {
    val = (val / 100000).toFixed(2) + ' Lac';
  }
  /*else if(val >= 1000) val = (val/1000).toFixed(2) + ' K';*/
  return val;
}
console.log(numDifferentiation(NaN))
console.log(numDifferentiation(0))

console.log(numDifferentiation(1))
console.log(numDifferentiation(100))
console.log(numDifferentiation(1000))
console.log(numDifferentiation(100000))
console.log(numDifferentiation(10000000))

console.log(numDifferentiation(-1))
console.log(numDifferentiation(-100))
console.log(numDifferentiation(-1000))
console.log(numDifferentiation(-100000))
console.log(numDifferentiation(-10000000))
.as-console-wrapper {
  /* Make stack overflow console fullscreen */
  max-height: 100% !important;
  top: 0;
}

您可以使用数学.abs() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs返回数字的绝对值:

function numDifferentiation(value) {
  const val = Math.abs(value)
  if (val >= 10000000) return `${(value / 10000000).toFixed(2)} Cr`
  if (val >= 100000) return `${(value / 100000).toFixed(2)} Lac`
  return value;
}
console.log(numDifferentiation(NaN))
console.log(numDifferentiation(0))

console.log(numDifferentiation(1))
console.log(numDifferentiation(100))
console.log(numDifferentiation(1000))
console.log(numDifferentiation(100000))
console.log(numDifferentiation(10000000))

console.log(numDifferentiation(-1))
console.log(numDifferentiation(-100))
console.log(numDifferentiation(-1000))
console.log(numDifferentiation(-100000))
console.log(numDifferentiation(-10000000))
.as-console-wrapper {
  /* Make stack overflow console fullscreen */
  max-height: 100% !important;
  top: 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果数字前面有减号,如何将其格式化为 Lac 或 Crores 的相关文章

随机推荐