jQuery에서 숫자에 쉼표를 더합니다.
저는 이 번호를 가지고 있습니다.
10999
그리고.8094
그리고.456
제가 원하는 것은 쉼표가 필요할 경우 적절한 위치에 쉼표를 추가하는 것입니다. 그래서 이렇게 보입니다.
10,999
그리고.8,094
그리고.456
이것들은 모두 이와 같은 ptag 안에 있습니다.<p class="points">10999</p>
기타.
할 수 있을까요?
다른 게시물 http://jsfiddle.net/pdWTU/1/ 의 도움을 받아 여기서 시도해 보았지만 작동이 되지 않는 것 같습니다.
감사해요.
제이미
갱신하다
좀 어설프게 굴어서 여기 http://jsfiddle.net/W5jwY/1/ 에서 알아냈습니다.
새로운 Globalization 플러그인을 통해 더 나은 방법을 모색해 보겠습니다.
감사해요.
제이미
모든 브라우저에서 작동하며, 필요한 것은 이것뿐입니다.
function commaSeparateNumber(val){
while (/(\d+)(\d{3})/.test(val.toString())){
val = val.toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2');
}
return val;
}
이것을 간결하게 쓰기 위해 썼으며, 요점은 regex 덕분입니다.이것은 곧은 JS이지만 jQuery에서 다음과 같이 사용할 수 있습니다.
$('#elementID').html(commaSeparateNumber(1234567890));
아니면
$('#inputID').val(commaSeparateNumber(1234567890));
하지만 더 깨끗하고 유연한 것이 필요하다면 말입니다.아래 코드는 소수점을 올바르게 고정하고 선행 0을 제거하며 무제한으로 사용할 수 있습니다.댓글에 @baacke 감사합니다.
function commaSeparateNumber(val){
val = val.toString().replace(/,/g, ''); //remove existing commas first
var valRZ = val.replace(/^0+/, ''); //remove leading zeros, optional
var valSplit = valRZ.split('.'); //then separate decimals
while (/(\d+)(\d{3})/.test(valSplit[0].toString())){
valSplit[0] = valSplit[0].toString().replace(/(\d+)(\d{3})/, '$1'+','+'$2');
}
if(valSplit.length == 2){ //if there were decimals
val = valSplit[0] + "." + valSplit[1]; //add decimals back
}else{
val = valSplit[0]; }
return val;
}
jQuery에서는 다음과 같이 사용합니다.
$('.your-element').each(function(){
$(this).html(commaSeparateNumber($(this).html()));
});
여기 jsFiddle.
Number(10000).toLocaleString('en'); // "10,000"
Timothy Pirez의 답변은 매우 정확했지만 텍스트 필드의 사용자 유형으로 즉시 숫자를 쉼표로 바꿔야 하는 경우 키업 기능을 사용할 수 있습니다.
$('#textfield').live('keyup', function (event) {
var value=$('#textfield').val();
if(event.which >= 37 && event.which <= 40){
event.preventDefault();
}
var newvalue=value.replace(/,/g, '');
var valuewithcomma=Number(newvalue).toLocaleString('en');
$('#textfield').val(valuewithcomma);
});
<form><input type="text" id="textfield" ></form>
최근 출시된 마이크로소프트의 jQuery에 대한 Globalization 플러그인을 살펴봅니다.
Numberal.js를 보세요.숫자, 통화, 백분율 형식을 지정할 수 있으며 현지화를 지원합니다.
function delimitNumbers(str) {
return (str + "").replace(/\b(\d+)((\.\d+)*)\b/g, function(a, b, c) {
return (b.charAt(0) > 0 && !(c || ".").lastIndexOf(".") ? b.replace(/(\d)(?=(\d{3})+$)/g, "$1,") : b) + c;
});
}
alert(delimitNumbers(1234567890));
현지화 작업을 하고 계신 것 같은데, 이 대본을 보세요.
를 사용하여 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString 에서 LocaleString 참조
function formatComma(value, sep = 0) {
return Number(value).toLocaleString("ja-JP", { style: "currency", currency: "JPY", minimumFractionDigits: sep });
}
console.log(formatComma(123456789, 2)); // ¥123,456,789.00
console.log(formatComma(123456789, 0)); // ¥123,456,789
console.log(formatComma(1234, 0)); // ¥1,234
다른 접근 방식:
function addCommas(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
var a = addCommas(10000.00);
alert(a);
또 다른 놀라운 플러그인: http://www.teamdf.com/web/jquery-number-format/178/
또 다른 방법:
function addCommas(n){
var s = "",
r;
while (n) {
r = n % 1000;
s = r + s;
n = (n - r)/1000;
s = (n ? "," : "") + s;
}
return s;
}
alert(addCommas(12345678));
여기 @Timothy Perez에게 댓글로 제공된 @baacke의 fiddle의 커피 스크립트 버전이 있습니다.
class Helpers
@intComma: (number) ->
# remove any existing commas
comma = /,/g
val = number.toString().replace comma, ''
# separate the decimals
valSplit = val.split '.'
integer = valSplit[0].toString()
expression = /(\d+)(\d{3})/
while expression.test(integer)
withComma = "$1,$2"
integer = integer.toString().replace expression, withComma
# recombine with decimals if any
val = integer
if valSplit.length == 2
val = "#{val}.#{valSplit[1]}"
return val
언급URL : https://stackoverflow.com/questions/3883342/add-commas-to-a-number-in-jquery
'sourcecode' 카테고리의 다른 글
전원 셸 및 오류 ConvertTo-SecureString : 키가 지정된 상태에서 사용할 수 없도록 유효하지 않음을 사용하여 재사용을 위한 자격 증명 저장 (0) | 2023.10.30 |
---|---|
C의 함수명은 어떤 타입입니까? (0) | 2023.10.30 |
각 행의 결측/NaN 수 계산 (0) | 2023.10.30 |
사용자 지정 쿼리 루프 제품 woocmerce에서 작동하지 않는 AJAX add to cart 버튼 (0) | 2023.10.30 |
플러그인 및 테마를 설치할 수 없습니다. (0) | 2023.10.30 |