/*JavaScript Unleashed, Third Editionby Richard Wagner and R. Allen Wyke ISBN: 067231763XPublisher Sams CopyRight 2000*/<html><head><title>Money Format</title><script language= "JavaScript"><!--begin scriptfunction moneyFormat(textObj) { var newValue = textObj.value; var decAmount = ""; var dolAmount = ""; var decFlag = false; var aChar = ""; // ignore all but digits and decimal points. for(i=0; i < newValue.length; i++) { aChar = newValue.substring(i,i+1); if(aChar >= "0" && aChar <= "9") { if(decFlag) { decAmount = "" + decAmount + aChar; } else { dolAmount = "" + dolAmount + aChar; } } if(aChar == ".") { if(decFlag) { dolAmount = ""; break; } decFlag=true; } } // Ensure that at least a zero appears for the dollar amount. if(dolAmount == "") { dolAmount = "0"; } // Strip leading zeros. if(dolAmount.length > 1) { while(dolAmount.length > 1 && dolAmount.substring(0,1) == "0") { dolAmount = dolAmount.substring(1,dolAmount.length); } } // Round the decimal amount. if(decAmount.length > 2) { if(decAmount.substring(2,3) > "4") { decAmount = parseInt(decAmount.substring(0,2)) + 1; if(decAmount < 10) { decAmount = "0" + decAmount; } else { decAmount = "" + decAmount; } } else { decAmount = decAmount.substring(0,2); } if (decAmount == 100) { decAmount = "00"; dolAmount = parseInt(dolAmount) + 1; } } // Pad right side of decAmount if(decAmount.length == 1) { decAmount = decAmount + "0"; } if(decAmount.length == 0) { decAmount = decAmount + "00"; } // Check for negative values and reset textObj if(newValue.substring(0,1) != '-' || (dolAmount == "0" && decAmount == "00")) { textObj.value = dolAmount + "." + decAmount; } else{ textObj.value = '-' + dolAmount + "." + decAmount; }}// end script--></script></head> <body><h1>Money Format</h1><form name="form1"><input type="text" size=16 maxlength=16 name="data"><input type="button" name="CheckButton" value="Format" onClick="moneyFormat(document.form1.data)"></form></body></html>
Name (required)
email (will not be published) (required)
Website