百分比与数字之间计算
function returnFloatText(value) {value = value.replace(/\.0+$/g, "");value = value.replace(/^0$/g, "");value = value.replace(/,/g, "");if(value.indexOf('.') != -1) {value = value.replace(/0+$/g, "");}if(value == ""){return 0;}return parseFloat(value); } function checkNum(obj){obj.value = obj.value.replace(/\.{2,}/, '.');obj.value = obj.value.replace(/\.+$/, '');//alert(obj.value); //if(obj.value == "."||obj.value == ".."||obj.value == "..."||obj.value == "...."||obj.value == "....." //||obj.value == "......"||obj.value == ".......") { //obj.value = 0; //} } function checkAcount(obj,contractPrice){var percent = obj.value;if('' != (''+percent) && '0' != (''+percent)){if((""+obj.value).substring(0,1) == "0" && (""+obj.value).substring(0,2)!= '0.'){alert("数字格式不对!");obj.value = "";return;}}if(percent < 0 || percent > 100){alert("百分比应该在0——100之内!");obj.value = 0;}setValue(obj, contractPrice);}function validataAcount(obj,contractPrice){var numAcount = returnFloatText(obj.value);if(numAcount < 0 || numAcount > returnFloatText(contractPrice)){alert("金额数应该大于0,小于合同标的金额!");obj.value = 0;}setPercent(obj, contractPrice);} function setPercent(elt, mumm){ var el = eval("document.forms[0]."+elt.name+"Percent"); var val = calculatePercent(elt.value, mumm)*100.0; val=Math.round(val*10000)/10000;var strVal = val+"";if(strVal.indexOf('.')>=0){var len = strVal.indexOf('.')+5;strVal = strVal.substring(0,len);}else{el.value = val;return;} el.value = strVal; return; } function calculatePercent(value, mumm){ var val = returnFloat(value); var mum = returnFloat(mumm); if(mum==0.0){ return 0.0; }else{ if(val/mum < 0.000001){ return 0.0; } return formatFloat(val/mum+""); } } function setValue(elt, factor){ var el = eval("document.forms[0]."+elt.name.substring(0,elt.name.length-("Percent".length))); el.value = calculateValue(elt.value, factor); } function calculateValue(percent, factor){ var per = returnFloat(percent); var fac = returnFloat(factor); var result = (per*fac)/100.0 + ""; return formatFloat(parseFloat(result).toFixed(2)); }?
<input type="text" name="contractPrice" style="text-align:right"size="25"value="100" /><input type="text"name="advancePaymentPercent"style="text-align:right"onchange="checkNum(this);checkAcount(this,contractPrice.value);"onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"onkeydown="if(event.keyCode==13)event.keyCode=9"onfocus="initText(this)" size="25" maxlength="6"onblur="checkNum(this);"value="" /><br><input type="text"name="advancePayment" style="text-align:right" onblur="formatNumberScope(this,2);"size="25" maxlength="15"value="" />
?