我已经使用一个函数将数字转换为lakhs and crores,对于以前没有负号的数字来说效果很好,但是如果数字带有负号则不会改变。我试图将数字转换为字符串,然后替换了字符串,然后进行了检查,但是没有用。

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;
}


我需要输出,即使它带有负号,如-330000之前为-3.30 Lac

最佳答案

您可以使用Math.abs()

此函数返回数字的绝对值

function numDifferentiation (value) {
   var val = Math.abs(value)
  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(-50000000))


DEMO

关于javascript - 如果数字前面带有减号,则如何将其格式化为Lac或Crores,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43465219/

10-17 03:13