js 돈 대소 문자 변환 및 수치 포맷
3079 단어 돈의 대소 문자 변환
var rs1=num.toExponential(2);//rs1 의 값 은 5.65e + 1 이다.
var rs2=num.toFixed(2);//rs 의 값 은 56.45 이다.
var rs3=num.toPrecision(2);//rs 의 값 은 56 이다.
function regInput(reg)
{
var srcElem = event.srcElement
var oSel = document.selection.createRange()
oSel = oSel.duplicate()
oSel.text = ""
var srcRange = srcElem.createTextRange()
oSel.setEndPoint("StartToStart", srcRange)
var num = oSel.text + String.fromCharCode(event.keyCode) + srcRange.text.substr(oSel.text.length)
event.returnvalue = reg.test(num)
}
//
function aNumber(num)
{
var numArray = new Array()
var unit = " $"
for (var i=0; i<unit.length; i++)
{
var re = eval_r("/"+ (numArray[i-1] ? unit.charAt(i-1) : "") +"(.*)"+unit.charAt(i)+"/")
if (num.match(re))
{
numArray[i] = num.match(re)[1].replace(/^ /, " ")
numArray[i] = numArray[i].replace(/[ ]/g, function ($1)
{
return " ".indexOf($1)
})
numArray[i] = numArray[i].replace(/[ ]/g, function ($1)
{
return "*"+Math.pow(10, " ".indexOf($1)-2)+"+"
}).replace(/^\*|\+$/g, "").replace(/ /, "0")
numArray[i] = "(" + numArray[i] + ")*"+Math.ceil(Math.pow(10, (2-i)*4))
}
else numArray[i] = 0
}
return eval_r(numArray.join("+"))
}
//
function chineseNumber(num)
{
if (isNaN(num) || num > Math.pow(10, 12)) return ""
var cn = " "
var unit = new Array(" ", " ")
var unit1= new Array(" ", "")
var numArray = num.toString().split(".")
var start = new Array(numArray[0].length-1, 2)
function toChinese(num, index)
{
var num = num.replace(/\d/g, function ($1)
{
return cn.charAt($1)+unit[index].charAt(start--%4 ? start%4 : -1)
})
return num
}
for (var i=0; i<numArray.length; i++)
{
var tmp = ""
for (var j=0; j*4<numArray[i].length; j++)
{
var strIndex = numArray[i].length-(j+1)*4
var str = numArray[i].substring(strIndex, strIndex+4)
var start = i ? 2 : str.length-1
var tmp1 = toChinese(str, i)
tmp1 = tmp1.replace(/( .)+/g, " ").replace(/ +$/, "")
tmp1 = tmp1.replace(/^ /, " ")
tmp = (tmp1+unit1[i].charAt(j-1)) + tmp
}
numArray[i] = tmp
}
numArray[1] = numArray[1] ? numArray[1] : ""
numArray[0] = numArray[0] ? numArray[0]+" " : numArray[0], numArray[1] = numArray[1].replace(/^ +/, "")
numArray[1] = numArray[1].match(/ /) ? numArray[1] : numArray[1]+" "
return numArray[0]+numArray[1]
}