>  기사  >  웹 프론트엔드  >  JS는 쉼표로 구분된 숫자 금액의 형식을 지정하고 소수점 두 자리를 유지합니다_javascript 기술

JS는 쉼표로 구분된 숫자 금액의 형식을 지정하고 소수점 두 자리를 유지합니다_javascript 기술

WBOY
WBOY원래의
2016-05-16 17:19:421841검색

예:
12345는 12,345.00으로 형식화됩니다.
12345.6은 12,345.60으로 형식화됩니다.
12345.67은 12,345.67로 형식화됩니다.
소수점 두 자리만 남겨두세요.
돌아온 후 서식 기능을 작성했습니다. 소수점 이하 자릿수를 제어하고 자동으로 반올림할 수 있습니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

function fmoney( s, n) {
n = n > 0 && n <= 20 ? n : 2 "")).toFixed (n) "";
var l = s.split(".")[0].split("").reverse(), r = s.split(".") [1];
t = "";
for (i = 0; i < l.length; i ) {
t = l[i] ((i 1) % 3 == 0 && (i 1) ! = l.length ? "," : "")
}
return t.split("").reverse().join("") r; 🎜>}


전화: fmoney("12345.675910", 3), return 12,345.676
복원 기능:


function rmoney(s) {
returnparseFloat(s.replace(/[^d.-]/g, "" ));


예(코드를 html 파일로 저장하고 실행하여 효과를 확인할 수 있음):


코드 복사 코드는 다음과 같습니다. <SCRIPT> </div>function fmoney(s, n) { <div class="codebody" id="code66777">n = n &gt ; 0 && n s = parsFloat((s "").replace(/[^d.-]/g, "")).toFixed(n) ""; <br>var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1] <br>t = ""; <br>for (i = 0; i t = l[i] ((i 1) % 3 == 0 && (i 1) != l.length ? " ," : ""); <br>} <br>return t.split ("").reverse().join("") "." r; <br>} <br>function rmoney(s) { <br>return parsFloat(s.replace(/[^d.-]/ g, "")); <br>} <br>function g(id) { <br>return document.getElementById(id); 🎜>} <br>window.onload = function() { <br>var num, txt = g("txt"), txt2 = g("txt2"), btn = g("btn"), btn2 = g ("btn2"), span = g("span"); <br> btn.onclick = function() { <br>num = parsInt(g("num").value) <br>txt.value = fmoney(txt.value, num); <br>txt2.value = fmoney(txt2.value, num) <br>}; "num").value); <br>span.innerHTML = "=" <br> fmoney(rmoney(txt.value) rmoney(txt2.value), num) <br>}; 🎜></SCRIPT>
소수점:
< ;select id="num">
value="3">3
< 옵션 value="4">4








첨부:




코드 복사


코드는 다음과 같습니다.

/*
* formatMoney(s,type)
* 함수: 금액을 쉼표로 천 단위로 나눕니다.
* 매개변수: s, 형식을 지정해야 하는 금액 값
* 매개변수: 형식화된 금액에 소수 자릿수가 필요한지 여부를 결정합니다.
* 반환: 형식화된 숫자 문자열을 반환합니다.
*/
function formatMoney(s, type) {
if ( /[ ^0-9.]/.test(s))
return "0";
if (s == null || s == "")
return "0" >s; = s.toString().replace(/^(d*)$/, "$1.");
s = (s "00").replace(/(d*.dd)d*/ , " $1");
s = s.replace(".", ",");
var re = /(d)(d{3},)/;
while (re.test( s))
s = s.replace(re, "$1,$2")
s = s.replace(/,(dd)$/, ".$1")
if (입력 == 0) {// 소수 자릿수 없음(기본값은 소수 자릿수 포함)
var a = s.split(".")
if (a[1] == "00") {
s = a[0];
}
}
return s;
}
/*
* 일반 DateAdd(interval,number,date) 기능: 구현 날짜 추가 기능
* 매개변수: 추가할 시간 간격을 나타내는 문자열 표현식 매개변수: 추가할 시간 간격 수를 나타내는 숫자 표현식
* 반환: 새로운 시간 객체 var now = new Date(); var newDate = DateAdd("day",5,now)
* 작성자:devinhua(○부터 시작) update:2010 -5-5 20:35
*/
function DateAdd(간격, 숫자, 날짜) {
if (date == null)
return "";
switch(간격) {
case "day" :
날짜 = 새 날짜(날짜);
날짜 = 숫자 * 24 * 60 * 60 * 1000
날짜 = 새 날짜(날짜); 🎜>반환 날짜;
휴식
기본값:
반환
}
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.