计算百分比 JS
<script language="JavaScript">
function Check()
{
if(document.all.txt_Second.value.length == 0)
{
return false;
}
else
{
return true;
}
}
function To_String(len) //str为字符串 Ex:"12.5627"; len为小数位数 Ex:2; 返回结果为 12.56
{
var str = this.toString();
//如果没有小数位
if(str.indexOf(".") == -1)
{
str += ".";
for(i=0;i<len;i++)
{
str += "0";
}
return str;
}
var str_L = str.substr(str.indexOf(".")+1);
//alert(str_L);
if(str_L.length <= len)
{
for(i=0;i<len-str_L.length;i++)
{
str += "0";
}
return str;
}
else
{
var str_Result = ""; //存储结果
var str_S = str.substring(0,str.indexOf(".")+len+1);
//alert(str_S);
var Middle = parseInt( str.substr(str.indexOf(".")+len+1,1) ,10 );
//alert(Middle);
if(Middle>=5)
{
var flo_Result = parseFloat(str_S,10);
var increase = "0.";
for(i=0;i<len-1;i++)
{
increase += "0";
}
increase += "1";
var flo_increase = parseFloat(increase);
//alert(flo_Result);
//alert(flo_increase);
var floResult = flo_Result + flo_increase;
str_Result = floResult.toString();
}
else
{
str_Result = str_S;
}
return str_Result;
}
}
String.prototype.ToString = To_String;
function Round45()
{
var Digits = parseInt(document.all.txt_Digits.value);
//alert(Digits);
alert(document.all.txt_Second.value.ToString(Digits));
}
function Compute()
{
if(!Check())
{
alert("输入不能为空!");
return false;
}
var FirstNum = parseFloat(document.all.txt_First.value,10);
alert(FirstNum);
if(isNaN(FirstNum))
{
alert("第一个不是数字!");
return false;
}
var SecondNum = parseFloat(document.all.txt_Second.value,10);
alert(SecondNum);
if(isNaN(SecondNum))
{
alert("第二个不是数字!");
return false;
}
document.all.txt_Result.value = ((SecondNum-FirstNum)/FirstNum*100).toPrecision(4).toString()+"%";
}
</script>
第一个数:<input type="text" id="txt_First" readonly value="100.00"><br />
第二个数:<input type="text" id="txt_Second">
<input type="button" value=" 计算 " onclick="Compute()"><br />
<input type=text value="2" id="txt_Digits">
<input type="button" value="小数四舍五入" onclick="Round45()">
<br />
百分比[(第二个数-第一个数)/第一个数]:<br />
<input type=text id="txt_Result" readonly>