JQuery - K,Lacs,Crore中的格式数字

时间:2014-02-14 11:35:38

标签: javascript jquery html javascript-events

我想用jquery中的k,lacs,crores将数字格式化为它们旁边的数字:

1000到1K

1500至1.5K

100000到1Lac

150000至1.5Lac

1000000到10Lac

10000000到1cr等等!

<!DOCTYPE html>
<html>
<head>
    <title>Number Differentiation</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(e){
              $('#numbr').bind('keypress', function (e) {
                                return (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57) && e.which != 46) ? false : true;
              });
            $("#submitBut").click(function(e){

                alert(numDifferentiation( $("#numbr").val()))
            })
            function numDifferentiation($val){
               return $val;
            }
        })
    </script>
</head>
<body>
<input id="numbr" type="text"/>
<button id="submitBut">Click</button>
</body>
</html>

2 个答案:

答案 0 :(得分:9)

这应该这样做:

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

答案 1 :(得分:0)

你也可以使用js内置的Intl库

const formatter = new Intl.NumberFormat('en-IN', {
  style: 'currency',
  currency: 'INR',
  minimumFractionDigits: 0,
  maximumFractionDigits: 2,
  notation: 'compact',
  compactDisplay: 'long',
})

并像使用它一样

const value = 200000
formatter.format(value) // => 2L

可以选择将区域设置 en-IN 更改为 en-US 以适合他们的符号样式。

它还会将您的值四舍五入到最接近的符号,以使其看起来更简洁。