代码解说
在上面的代码中,在页面代码的头部定义了fix()函数。fix()函数具有两个参数:fixNumber和decimalPlaces,其中,decimalPlaces参数指出了定点后小数点之后的位数。例如,把34.76459定点为具有3个小数位的数字,结果为34.765。
在fix()函数中的第一行,把变量div的值设置为10的decimalPlaces次幂,decimalPlaces参数就是用于定点的小数点的位数。
function fix(fixNumber, decimalPlaces)
{
var div = Math.pow(10,decimalPlaces);
下面这行代码用于计算定点之后的数值:
fixNumber = Math.round(fixNumber * div) / div;
表达式Math.round(fixNumber * div)的作用就是将小数点移动到需要保留的位数之后。例如对于2.2345,如果我们需要保留小数点之后的两位数,可以将它转换为223.45。然后,再用Math.round()方法对转换后的数值进行四舍五入,就可以得到一个去掉多余小数部分后最近似于该数的整数,对223.45来说,四舍五入的结果就是223。
然后,再把这个整数除以变量div,将它转换回相应的小数,这样,仅有指定的小数位被保留了下来。例如对于223,将它除以100,将得到2.23。这就是将2.2345定点为具有2个小数位的数字的结果。通过return语句,可以把这个值返回给调用方。
return fixNumber;
}
在页面的代码中,使用了两个prompt()提示框获取用户的输入,然后用document.write()方法将取定点数之后的结果输出在页面上。