一、我们首先从经典的“四舍五入”算法讲起
成都创新互联公司-成都网站建设公司,专注做网站、网站制作、网站营销推广,国际域名空间,网站空间,网站托管、服务器租用有关企业网站制作方案、改版、费用等问题,请联系成都创新互联公司。
1、四舍五入的情况
2、不四舍五入
第一种,先把小数边整数:
第二种,当作字符串,使用正则匹配:
注意:如果是负数,请先转换为正数再计算,最后转回负数
再分享一个经典的解决四舍五入问题后js保留两位小数的方法:
//四舍五入保留2位小数(若第二位小数为0,则保留一位小数)
javascript是弱语言类型,就是说除了基本类型和预定义的类型,所有的变量类型只有一种var,即可以表示字符串、浮点数,整数,对象,数组。
可以声明变量如下:
var intVar = 1; 整型
var floatVar = 1.0; 浮点型
var arrayVar = new Array(); //或者 var arrayVar = []; 数组
var objectVar = new obejct(); //或者var objectVar = {}; //对象
var strVar = ''; //或者 var strVar = ""; 字符串
保留两位小数的方法是在数值或数值变量后加.toFixed(2),就行了.
完整的thirdoder函数如下(改动的地方见注释)
function thirdoder()
{
if((document.third.rh.value = 0 ) || (document.third.rl.value = 0 ) || (document.third.fc.value = 0 ))
{
alert("请输入条件");
}
else
{
rl = eval(document.third.rl.value);
rh = eval(document.third.rh.value);
fc = eval(document.third.fc.value);
document.third.c1.value = eval((.1061/(rh*fc))*1000000).toFixed(2);//这里改一下
document.third.c2.value = eval((.3183/(rh*fc))*1000000).toFixed(2);//这里改一下
document.third.c3.value = eval((.2122/(rl*fc))*1000000).toFixed(2);//这里改一下
document.third.l1.value = eval(( .1194*rh/fc)*1000).toFixed(2);//这里改一下
document.third.l2.value = eval(( .2387*rl/fc)*1000).toFixed(2);//这里改一下
document.third.l3.value = eval(( .0796*rl/fc)*1000).toFixed(2);//这里改一下
}
}
可以转换为整数parseInt(number)和原来的数比较。
也可以转换成字符串判断。
var str = number+"";
if(str.indexOf(".")==-1){
alert("整数")
}else{
alert("小数");
}
扩展资料:
判断是否数字
function isNumber(str){
var n = Number(str);
if (!isNaN(n)){
return true;
}else{
return false;
}
}
判断是否对象
function isObj(obj){
if(typeof obj=="object"){
return true;
}else{
return false;
}
}
判断是否为空
function emptyFun(obj){
var obj=obj;
if(obj==""||obj==null||obj==undefined||obj=="null"||obj=="undefined"){
return true;
}else{
return false;
}
}
获取地址栏参数
function GetQueryString(name){
var reg = new RegExp("(^|)"+ name +"=([^]*)(|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]); return null;
}
js中提供了对应的函数,即toFixed(n)方法。参数n表示要保留几位小数。
比如:
var a =123.456789;
alert(a.toFixed(4));// 四舍五入保留四位小数
// 将num四舍五入并截取n位小数。
getResult(num,n) {
return num.toFixed(n);
}
注意:
当 n 太小或太大时抛出异常 RangeError。正常范围是[0,20]。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。