document.forms[0].count = 6; document.forms[0].rsize =35; document.forms[0].val2.factor = 1; document.forms[0].val3.factor = 1000; document.forms[0].val4.factor = 1/0.101971621; document.forms[0].val5.factor = 1/39.3700787; document.forms[0].val6.factor = 1/3.2808399; document.forms[0].val7.factor = 1.609344e+3;
function convertform(form){ var firstvalue = 0; for (var i = 1; i <= form.count; i++) { if (form.elements[i].value != null && form.elements[i].value.length != 0) { firstvalue = parseFloat(form.elements[i].value); if (isNaN(firstvalue)) firstvalue = 0; firstvalue *= form.elements[i].factor; break; } } if (firstvalue == 0) { clearform(0, form); return false; } for (var i = 1; i <= form.count; i++) { form.elements[i].value = firstvalue / form.elements[i].factor; form.elements[i].value = " " + formatvalue(form.elements[i].value, form.rsize); } return true; } function formatvalue(input, rsize) { var sign = ""; var m = input; var e = 0;; var res; var l; var d; if (m == 0.0) return "0"; if (m < 0) { sign = "-"; m = -m; } while (m < 1.0) { e--; m *= 10.0 } while (m >= 10) { e++; m /= 10.0 } res = formathelp(sign, m, e, 1000000); l = res.length - rsize; if (l > 4) res = "***"; if (l == 3 || l == 4) res = formathelp(sign, m, e, 1); else if (l == 2) res = formathelp(sign, m, e, 10); else if (l == 1) res = formathelp(sign, m, e, 100); return res; } function formathelp(sign, m, e, d) { var m1 = m; var e1 = e; var res; m1 *= d; m1 = Math.round(m1); m1 /= d; if (m1 == 10.0) { m1 = 1.0; e1++; } if (e1 == 0) res = sign + m1; else if (e1 == 1) res = sign + m1*10; else if (e1 == 2) res = sign + m1*100; else if (e1 == 3) res = sign + m1*1000; else if (e1 == -1) res = sign + m1/10; else if (e1 == -2) res = sign + m1/100; else if (e1 == -3) res = sign + m1/1000; else res = sign + m1 + "e" + e1; return res; } function resetform(form) { clearform(0, form); return true; } function clearform(n, form) { for (var i = 1; i <= form.count; i++) { if (i != n) form.elements[i].value = ""; } return true; }