将数字转换为十万千万卢比 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(使用前将#替换为@)