function toxiaoshu(x) { //保留一位小数
var f = Math.round(x*10)/10;
if (isNaN(f)) {
return 0;
}
return f;
}
function zbhjgs(){ //检查用户输入,并进行转换
var t=document.getElementsByName("tmp03");
var j=0;
var k="";
for(var i = 0; i < t.length; i++){
if (t[i].value!=''){
t[i].value=toxiaoshu(t[i].value);
j+=toxiaoshu(t[i].value);
}
}
document.getElementById("zonggongshi").innerHTML = j; //总工时
}用户需要累积计算输入的工时
多个工时输入框
为什么用户输入1.1 和 0.6 会得出1.7000000000000001 ?
如何才能保证合计工时为一位小数的呢?
var f = Math.round(x*10)/10;
if (isNaN(f)) {
return 0;
}
return f;
}
function zbhjgs(){ //检查用户输入,并进行转换
var t=document.getElementsByName("tmp03");
var j=0;
var k="";
for(var i = 0; i < t.length; i++){
if (t[i].value!=''){
t[i].value=toxiaoshu(t[i].value);
j+=toxiaoshu(t[i].value);
}
}
document.getElementById("zonggongshi").innerHTML = j; //总工时
}用户需要累积计算输入的工时
多个工时输入框
为什么用户输入1.1 和 0.6 会得出1.7000000000000001 ?
如何才能保证合计工时为一位小数的呢?
add: function (num) { var reg = /\./i;
var me = this;
if (!reg.test(me) && !reg.test(num)) {
return me += num;
}
var i1, i2;
try {
i1 = me.toString().split('.')[1].length;
}
catch (e) {
i1 = 0;
}
try {
i2 = num.toString().split('.')[1].length;
}
catch (e) {
i2 = 0;
}
var m = Math.pow(10, Math.max(i1, i2));
return (me * m + num * m) / m; },
sub: function (num) {
var reg = /\./i;
var me = this;
if (!reg.test(me) && !reg.test(num)) {
return me -= num;
}
var i1, i2;
try {
i1 = me.toString().split('.')[1].length;
}
catch (e) {
i1 = 0;
}
try {
i2 = num.toString().split('.')[1].length;
}
catch (e) {
i2 = 0;
}
var m = Math.pow(10, Math.max(i1, i2));
var n = (i1 >= i2) ? i1 : i2;
return ((me * m - num * m) / m).toFixed(n);
}
});
alert((1.6+0.1).toFixed(1));