首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

百分比与数目字之间计算

2012-12-26 
百分比与数字之间计算function returnFloatText(value) {value value.replace(/\.0+$/g, )value va

百分比与数字之间计算

 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="" />

?

热点排行