我想用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>
答案 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
以适合他们的符号样式。
它还会将您的值四舍五入到最接近的符号,以使其看起来更简洁。