WEB電卓:log、ルートの計算もオンラインで | ラッコツールズ🔧 (2024)

お気に入りツール登録

'; document.getElementById("calHistory").innerHTML = html; } var result = parseFloat(calScreen); if(isNaN(result)) { result = "Error"; } document.getElementById("calInput").innerHTML = result; if(calHistory.length > 0) { document.getElementById("preCalculate").innerHTML = last(calHistory)[0] + ' ='; } } else if(calInputs.length === 1 && calInputs[0] == "neg") { calculator('C'); calculator('0'); calculator('-'); calculator('='); } calNew = !0 } else if ("C" == r) calInputs = [0], document.getElementById("calInput").innerHTML = "", calNew = !0, calScreen = 0; else if ("bk" == r) calInputs.splice(calInputs.length - 1, 1), 0 == calInputs.length && (calInputs = [0]), calScreen = calFinal(0) ; else { calInputs.push(r); var a = calValidateInputs(), o = calInputs.length; 1 == a ? calInputs.splice(o - 1, 1) : -1 == a && calInputs.splice(o - 2, 1), calScreen = calFinal(0) } $('#ans').text(calAns); if(calInputs[0] == 0 && calInputs[1] == 0 && calInputs[2] == "+/-") { calInputs = [0, "-"]; calculator(r); } else if(calInputs[0] == 0 && calInputs[1] == "+/-") { calculator('C'); calculator('0'); } } function calFinal(r) { var c = calCombineNumbers(), e = [], n = [], a = 0; for (i = 0; i < c.length; i++) A = c[i], B = c[i - 1], isNaN(A) && "sin" != A && "cos" != A && "tan" != A && "abs" != A && "asin" != A && "acos" != A && "atan" != A && "ex" != A && "10x" != A && "ln" != A && "log" != A && "3x" != A && "sqrt" != A && "(" != A && "pi" != A && "e" != A || isNaN(B) && "1/x" != B && "pc" != B && "n!" != B && "x3" != B && "x2" != B && ")" != B && "pi" != B && "e" != B || (n.push("*"), e.push("*")), "sin" == A || "cos" == A || "tan" == A || "abs" == A || "asin" == A || "acos" == A || "atan" == A || "ln" == A || "log" == A || "3x" == A || "sqrt" == A ? (n.push(A), n.push("("), e.push(A), e.push("("), a++) : ("(" == A && a++, ")" == A && a--, n.push(A), e.push(A)); if (0 < a) for (i = 0; i < a; i++) e.push(")"), n.push(")"); 2 < n.length && "0" == n[0] + "" && "*" == n[1] && (A = n[2], "sin" != A && "cos" != A && "tan" != A && "abs" != A && "asin" != A && "acos" != A && "atan" != A && "ex" != A && "10x" != A && "ln" != A && "log" != A && "(" != A && "pi" != A && "e" != A && "3x" != A && "sqrt" != A || (n = n.slice(2), e = e.slice(2))); for (var o = e, s = [], t = 0, p = 0; - 1 < o.indexOf(")") || -1 < o.indexOf(")");) { t = o.indexOf(")"); var y = o.indexOf(")"); - 1 < t ? -1 < y && y < t && (t = y) : t = y, o = calArrayProc(o, p = (s = o.slice(0, t + 1)).lastIndexOf("("), t + 1, calFormatDisplay(s = s.slice(p))) } var u = "" + calFormatDisplay(o); for (o = n, s = [], p = t = 0; - 1 < o.indexOf(")");) t = o.indexOf(")"), o = calArrayProc(o, p = (s = o.slice(0, t + 1)).lastIndexOf("("), t + 1, calResult(s = s.slice(p))); var l = calResult(o); return isNaN(l) && (l = "Error", 1 != r && (l = "")), 1 == r && (u = u.replace(//g, "").replace(/<\/b>/g, ""), 0 < c.length && (calHistory.push([u, calFmt(l)]), calHistory.length > calHistoryShow && (calHistory.splice(0, 1), calRollbackHistory.splice(0, 1))), u += " ="), document.getElementById("calInput").innerHTML = u, l } function calFormatDisplay(r) { for (var c = r; - 1 < c.indexOf("EXP");) { var e = c.indexOf("EXP"); c = "neg" == c[e + 1] ? calArrayProc(c, e, e + 2, " × 10-") : isNaN(c[e + 1]) ? calArrayProc(c, e, e + 1, " × 10") : calArrayProc(c, e, e + 2, " × 10" + c[e + 1] + "") } for (a = 0; a < c.length;) A = c[a], "pi" == A ? c[a] = "π" : "e" == A ? c[a] = "e" : "sin" != A && "cos" != A && "tan" != A && "abs" != A && "asin" != A && "acos" != A && "atan" != A && "3x" != A && "sqrt" != A && "ln" != A && "log" != A || ("asin" == A ? c[a] = "arcsin" : "acos" == A ? c[a] = "arccos" : "atan" == A ? c[a] = "arctan" : "3x" == A ? c[a] = "3√" : "sqrt" == A && (c[a] = "√"), c[a] = c[a] + c[a + 1], c.splice(a + 1, 1)), a++; for (var n = c.length, a = 0; a < n;) if (A = c[a], "pc" == A) c[a - 1] = c[a - 1] + "%", c.splice(a, 1), n--; else if ("n!" == A) !isNaN(c[a - 1]) && c[a - 1] < 0 ? c[a - 1] = "(" + c[a - 1] + ")!" : c[a - 1] = c[a - 1] + "!", c.splice(a, 1), n--; else if ("x3" == A) { 6 < (o = c[a - 1] + "").length && (o = o.substr(o.length - 6)), "" == o ? c[a - 1] = "(" + c[a - 1] + ")3" : "-" == (c[a - 1] + "").substring(0, 1) ? c[a - 1] = "(" + c[a - 1] + ")3" : c[a - 1] = c[a - 1] + "3", c.splice(a, 1), n-- } else if ("x2" == A) { var o; 6 < (o = c[a - 1] + "").length && (o = o.substr(o.length - 6)), "" == o ? c[a - 1] = "(" + c[a - 1] + ")2" : "-" == (c[a - 1] + "").substring(0, 1) ? c[a - 1] = "(" + c[a - 1] + ")2" : c[a - 1] = c[a - 1] + "2", c.splice(a, 1), n-- } else "1/x" == A ? (c[a - 1] = "(1/" + c[a - 1] + ")", c.splice(a, 1), n--) : a++; for (; - 1 < c.lastIndexOf("pow") || -1 < c.lastIndexOf("apow") || -1 < c.lastIndexOf("ex") || -1 < c.lastIndexOf("10x");) { e = c.lastIndexOf("pow"); var s = c.lastIndexOf("apow"); if (e < s && (e = s), e < (s = c.lastIndexOf("ex")) && (e = s), e < (s = c.lastIndexOf("10x")) && (e = s), "pow" == c[e]) { var t = ""; "neg" == c[e + 1] && (t = "-", c.splice(e + 1, 1)); var i = "", p = ""; "-" == (c[e - 1] + "").substring(0, 1) && (i = "(", p = ")"), c[e + 1] && "" != c[e + 1] && ")" != c[e + 1] && ")" != c[e + 1] ? (c[e - 1] = i + c[e - 1] + p + "" + t + c[e + 1] + "", c.splice(e, 2)) : (c[e - 1] = "-" == t ? i + c[e - 1] + p + "-" : i + c[e - 1] + p + "", c.splice(e, 1)) } else if ("apow" == c[e]) { t = ""; "neg" == c[e + 1] && (t = "-", c.splice(e + 1, 1)), c[e + 1] && "" != c[e + 1] && ")" != c[e + 1] && ")" != c[e + 1] ? (c[e - 1] = "" + t + c[e + 1] + "√" + c[e - 1], c.splice(e, 2)) : (c[e - 1] = "-" == t ? "-√" + c[e - 1] : "√" + c[e - 1], c.splice(e, 1)) } else if ("ex" == c[e]) { t = ""; "neg" == c[e + 1] && (t = "-", c.splice(e + 1, 1)), c[e + 1] && "" != c[e + 1] && ")" != c[e + 1] && ")" != c[e + 1] ? (c[e] = "e" + t + c[e + 1] + "", c.splice(e + 1, 1)) : c[e] = "-" == t ? "e-" : "e" } else if ("10x" == c[e]) { t = ""; "neg" == c[e + 1] && (t = "-", c.splice(e + 1, 1)), c[e + 1] && "" != c[e + 1] && ")" != c[e + 1] && ")" != c[e + 1] ? (c[e] = "10" + t + c[e + 1] + "", c.splice(e + 1, 1)) : c[e] = "-" == t ? "10-" : "10" } } var y = ""; for (a = 0; a < c.length; a++) A = c[a], isNaN(A) ? "*" == A ? y += " × " : "/" == A ? y += " ÷ " : "+" == A ? y += " + " : "-" == A ? y += " − " : "neg" == A ? y += " -" : y += A : y += A; return y } function calResult(crInArray) { var crProcArray = crInArray; if (-1 < crProcArray.indexOf("Error")) return "Error"; for (; - 1 < crProcArray.indexOf("EXP");) { var crFDTemp = crProcArray.indexOf("EXP"); if (isNaN(crProcArray[crFDTemp + 1])) return "Error"; crProcArray[crFDTemp - 1] = crProcArray[crFDTemp - 1] * Math.pow(10, crProcArray[crFDTemp + 1]), crProcArray.splice(crFDTemp, 2) } for (i = 0; i < crProcArray.length; i++) "pi" == crProcArray[i] && (crProcArray[i] = Math.PI), "e" == crProcArray[i] && (crProcArray[i] = Math.E), "(" == crProcArray[i] && (crProcArray.splice(i, 1), i--), ")" == crProcArray[i] && (crProcArray.splice(i, 1), i--); for (i = 0; i < crProcArray.length; i++) if (A = crProcArray[i], "sin" == A || "cos" == A || "tan" == A || "abs" == A || "asin" == A || "acos" == A || "atan" == A || "ln" == A || "log" == A || "3x" == A || "sqrt" == A) { if (!(i + 1 < crProcArray.length)) return "Error"; if (B = crProcArray[i + 1], isNaN(B)) return "Error"; if ("sin" == A) if ("degree" == calDegreeRadians) { var tempV = Math.abs(B % 180); crProcArray[i] = tempV < 1e-13 ? 0 : Math.sin(B / 180 * Math.PI) } else { var tempV = Math.abs(B / Math.PI - Math.floor(B / Math.PI)) * Math.PI; crProcArray[i] = tempV < 1e-13 ? 0 : Math.sin(B) } else if ("cos" == A) if ("degree" == calDegreeRadians) { var tempV = Math.abs(B % 180); Math.abs(tempV - 90) < 1e-13 ? crProcArray[i] = 0 : crProcArray[i] = Math.cos(B / 180 * Math.PI) } else { var tempV = Math.abs(B / Math.PI - Math.floor(B / Math.PI)) * Math.PI; Math.abs(tempV - Math.PI / 2) < 1e-13 ? crProcArray[i] = 0 : crProcArray[i] = Math.cos(B) } else if ("tan" == A) if ("degree" == calDegreeRadians) { var tempV = Math.abs(B % 180); tempV < 1e-13 ? crProcArray[i] = 0 : Math.abs(tempV - 90) < 1e-13 ? crProcArray[i] = "Error" : crProcArray[i] = Math.tan(B / 180 * Math.PI) } else { var tempV = Math.abs(B / Math.PI - Math.floor(B / Math.PI)) * Math.PI; tempV < 1e-13 ? crProcArray[i] = 0 : Math.abs(tempV - Math.PI / 2) < 1e-13 ? crProcArray[i] = "Error" : crProcArray[i] = Math.tan(B) } else if ("abs" == A) { crProcArray[i] = Math.abs(B); } else "asin" == A ? crProcArray[i] = "degree" == calDegreeRadians ? 180 * Math.asin(B) / Math.PI : Math.asin(B) : "acos" == A ? crProcArray[i] = "degree" == calDegreeRadians ? 180 * Math.acos(B) / Math.PI : Math.acos(B) : "atan" == A ? crProcArray[i] = "degree" == calDegreeRadians ? 180 * Math.atan(B) / Math.PI : Math.atan(B) : "ln" == A ? crProcArray[i] = Math.log(B) : "log" == A ? crProcArray[i] = Math.log(B) / Math.LN10 : "3x" == A ? B < 0 ? crProcArray[i] = -1 * Math.pow(-1 * B, 1 / 3) : crProcArray[i] = Math.pow(B, 1 / 3) : "sqrt" == A && (crProcArray[i] = Math.sqrt(B)); crProcArray.splice(i + 1, 1) } for (; - 1 < crProcArray.indexOf("1/x") || -1 < crProcArray.indexOf("pc") || -1 < crProcArray.indexOf("n!") || -1 < crProcArray.indexOf("x3") || -1 < crProcArray.indexOf("x2");) { var j = crProcArray.indexOf("1/x"); j < 0 && (j = 1e8); var k = crProcArray.indexOf("pc"); - 1 < k && k < j && (j = k), k = crProcArray.indexOf("n!"), -1 < k && k < j && (j = k), k = crProcArray.indexOf("x3"), -1 < k && k < j && (j = k), k = crProcArray.indexOf("x2"), -1 < k && k < j && (j = k), "1/x" == crProcArray[j] ? (crProcArray[j - 1] = 1 / crProcArray[j - 1], crProcArray.splice(j, 1)) : "pc" == crProcArray[j] ? (crProcArray[j - 1] = .01 * crProcArray[j - 1], crProcArray.splice(j, 1)) : "n!" == crProcArray[j] ? (crProcArray[j - 1] = calFactorial(crProcArray[j - 1]), crProcArray.splice(j, 1)) : "x3" == crProcArray[j] ? (crProcArray[j - 1] = crProcArray[j - 1] * crProcArray[j - 1] * crProcArray[j - 1], crProcArray.splice(j, 1)) : "x2" == crProcArray[j] && (crProcArray[j - 1] = crProcArray[j - 1] * crProcArray[j - 1], crProcArray.splice(j, 1)) } if (isNaN(crProcArray[crProcArray.length - 1])) return "Error"; for (; - 1 < crProcArray.lastIndexOf("pow") || -1 < crProcArray.lastIndexOf("apow") || -1 < crProcArray.lastIndexOf("ex") || -1 < crProcArray.indexOf("10x");) { var j = crProcArray.lastIndexOf("pow"), k = crProcArray.lastIndexOf("apow"); if (j < k && (j = k), k = crProcArray.lastIndexOf("ex"), j < k && (j = k), k = crProcArray.lastIndexOf("10x"), j < k && (j = k), "10x" == crProcArray[j]) "neg" == crProcArray[j + 1] ? (crProcArray[j] = Math.pow(10, -1 * crProcArray[j + 2]), crProcArray.splice(j + 1, 2)) : (crProcArray[j] = Math.pow(10, crProcArray[j + 1]), crProcArray.splice(j + 1, 1)); else if ("ex" == crProcArray[j]) "neg" == crProcArray[j + 1] ? (crProcArray[j] = Math.pow(Math.E, -1 * crProcArray[j + 2]), crProcArray.splice(j + 1, 2)) : (crProcArray[j] = Math.pow(Math.E, crProcArray[j + 1]), crProcArray.splice(j + 1, 1)); else if ("pow" == crProcArray[j]) "neg" == crProcArray[j + 1] ? (alert(crProcArray[j - 1] + " / " + crProcArray[j] + " / " + crProcArray[j + 1] + " / " + crProcArray[j + 2] + " / "), crProcArray[j - 1] = Math.pow(crProcArray[j - 1], -1 * crProcArray[j + 2]), alert(crProcArray[j - 1]), crProcArray.splice(j, 3)) : (crProcArray[j - 1] = Math.pow(crProcArray[j - 1], crProcArray[j + 1]), crProcArray.splice(j, 2)); else if ("apow" == crProcArray[j]) if ("neg" == crProcArray[j + 1]) { if (crProcArray[j + 2] - Math.round(crProcArray[j + 2]) == 0) if (crProcArray[j - 1] < 0) { if (crProcArray[j + 2] % 2 == 0) return "Error"; crProcArray[j - 1] = -1 * Math.pow(-1 * crProcArray[j - 1], 1 / crProcArray[j + 2]) } else crProcArray[j - 1] = Math.pow(crProcArray[j - 1], 1 / crProcArray[j + 2]); else crProcArray[j - 1] = Math.pow(crProcArray[j - 1], 1 / crProcArray[j + 2]); crProcArray.splice(j, 3) } else { if (crProcArray[j + 1] - Math.round(crProcArray[j + 1]) == 0) if (crProcArray[j - 1] < 0) { if (crProcArray[j + 1] % 2 == 0) return "Error"; crProcArray[j - 1] = -1 * Math.pow(-1 * crProcArray[j - 1], 1 / crProcArray[j + 1]) } else crProcArray[j - 1] = Math.pow(crProcArray[j - 1], 1 / crProcArray[j + 1]); else crProcArray[j - 1] = Math.pow(crProcArray[j - 1], 1 / crProcArray[j + 1]); crProcArray.splice(j, 2) } } for (i = 1; i < crProcArray.length; i++) A = crProcArray[i], B = crProcArray[i - 1], "neg" != B || isNaN(A) || (crProcArray[i] = -1 * A, crProcArray.splice(i - 1, 1)); if (crProcArray.length < 2) return crProcArray[0]; var crDFOut = ""; for (i = 0; i < crProcArray.length; i++) isNaN(crProcArray[i]) ? "neg" == crProcArray[i] ? crDFOut += "-" : crDFOut += crProcArray[i] : crDFOut += "(" + crProcArray[i] + ")"; try { return eval(crDFOut) } catch (r) { return "Error" } } function calFactorial(r) { var c = Math.round(r); if (Math.abs(c - r) < 1e-11) { if (c < 0 || 200 < c) return "Error"; var e = 1; for (i = 1; i <= c; ++i) e *= i; return e } return calFactorialD(parseFloat(r)) } function calFactorialD(r) { if (r < -1) return Math.PI / (Math.sin(Math.PI * (r + 1)) * calFactorialD(-1 - r)); for (var c = [57.15623566586292, -59.59796035547549, 14.136097974741746, -.4919138160976202, 3399464998481189e-20, 4652362892704858e-20, -9837447530487956e-20, .0001580887032249125, -.00021026444172410488, .00021743961811521265, -.0001643181065367639, 8441822398385275e-20, -26190838401581408e-21, 36899182659531625e-22], e = .9999999999999971, n = 0; n < 14; n++) e += c[n] / (r + n + 2); return Math.exp((r + 1.5) * Math.log(r + 6.2421875) - r - 6.2421875 + Math.log(2.5066282746310007 * e / (r + 1))) } function calValidateInputs() { var r = calCombineNumbers(); for (i = 0; i < r.length; i++) if (A = r[i] + " ", B = r[i - 1] + " ", -1 < A.indexOf(".")) { if (-1 < B.indexOf(".")) return 1; if (A = A.substring(A.indexOf(".") + 1), -1 < A.indexOf(".")) return 1 } for (i = 0; i < r.length; i++) { if (A = r[i], B = r[i - 1], C = r[i - 2], !("+" != A && "-" != A && "*" != A && "/" != A || "+" != B && "-" != B && "*" != B && "/" != B)) return 1; if (("1/x" == A || "pc" == A || "n!" == A || "x3" == A || "x2" == A || ")" == A || "apow" == A || "pow" == A || "*" == A || "/" == A || "+" == A || "-" == A || "EXP" == A || "+/-" == A) && "neg" == B) return 1; if ("neg" == B && (B = C), "(" == B && ("+" == A || "-" == A || "*" == A || "/" == A || ")" == A || "pc" == A || "n!" == A || "+/-" == A || "EXP" == A || "pow" == A || "apow" == A || "1/x" == A || "x3" == A || "x2" == A)) return 1; if (")" == A && ("+" == B || "-" == B || "*" == B || "/" == B || "sin" == B || "cos" == B || "tan" == B || "abs" == B || "asin" == B || "acos" == B || "atan" == B || "pow" == B || "ex" == B || "10x" == B || "apow" == B || "3x" == B || "sqrt" == B || "ln" == B || "log" == B || "(" == B || "EXP" == B)) return 1; if ("EXP" == A && isNaN(B)) return 1; if ("EXP" == B && "neg" != A) { if (isNaN(A)) return 1; if (-1 < A.indexOf(".")) return 1 } if (!("x3" != A && "x2" != A && "apow" != A && "pow" != A || "sin" != B && "cos" != B && "tan" != B && "abs" != B && "asin" != B && "acos" != B && "atan" != B && "ex" != B && "10x" != B && "ln" != B && "log" != B && "3x" != B && "sqrt" != B && "(" != B && "*" != B && "/" != B && "+" != B && "-" != B)) return 1; if (!("x3" != A && "x2" != A && "apow" != A && "pow" != A || "apow" != B && "pow" != B)) return 1; if (!("sin" != B && "cos" != B && "tan" != B && "abs" != B && "asin" != B && "acos" != B && "atan" != B && "ex" != B && "10x" != B && "ln" != B && "log" != B && "3x" != B && "sqrt" != B && "(" != B && "apow" != B && "pow" != B && "EXP" != B && "*" != B && "/" != B && "+" != B && "-" != B || "1/x" != A && "pc" != A && "n!" != A && "x3" != A && "x2" != A && ")" != A && "apow" != A && "pow" != A && "*" != A && "/" != A && "+" != A && "-" != A && "EXP" != A)) return 1 } var c = 0, e = 0; for (i = 0; i < r.length; i++) if (A = r[i], B = r[i - 1], ")" == A && e++, "sin" != B && "cos" != B && "tan" && "abs" != B && "asin" != B && "acos" != B && "atan" != B && "ln" != B && "log" != B && "3x" != B && "sqrt" != B && "(" != B || c++, c < e) return 1; return 0 } function calRemoveZero(r) { for (calRZOut = r + ""; 1 < calRZOut.length && "0" == calRZOut.substring(0, 1) && "." != calRZOut.substring(1, 2);) calRZOut = calRZOut.substring(1); return calRZOut } function calCombineNumbers() { for (i = 1; i < calInputs.length; i++) "-" == calInputs[i] && (A = calInputs[i - 1], "sin" != A && "cos" != A && "tan" && "abs" != A != A && "asin" != A && "acos" != A && "atan" != A && "ex" != A && "10x" != A && "ln" != A && "log" != A && "(" != A && "apow" != A && "pow" != A && "*" != A && "/" != A && "+" != A && "-" != A && "EXP" != A && "3x" != A && "sqrt" != A || (calInputs[i] == "neg")), "+/-" == calInputs[i] && (A = calInputs[i - 1], "+/-" != A && "." != A && 1 != A && 2 != A && 3 != A && 4 != A && 5 != A && 6 != A && 7 != A && 8 != A && 9 != A && 0 != A && calInputs.splice(i, 1)); var r = [], c = ""; for (i = 0; i < calInputs.length; i++) A = calInputs[i], "+/-" == A || "." == A || 1 == A || 2 == A || 3 == A || 4 == A || 5 == A || 6 == A || 7 == A || 8 == A || 9 == A || 0 == A ? "." == A && "" == c ? c = "0." : c += A : "" == A || ("" != c && r.push(calRemoveZero(c)), c = "", r.push(A)); for ("" != c && r.push(calRemoveZero(c)), c = "", i = 0; i < r.length; i++) if (A = r[i] + "", -1 < A.indexOf("+/-")) { for (C = 0, F = ""; - 1 < A.indexOf("+/-");) TP = A.indexOf("+/-"), F += A.substring(0, TP), A = A.substring(TP + 3), C++; F += A, C %= 2, 1 == C && 0 < F.length && ("-" == F.substring(0, 1) ? F = F.substring(1) : F = "-" + F), r[i] = F } for (i = 1; i < r.length; i++) A = r[i], B = r[i - 1], "neg" == B && (isNaN(A) || ("-" == A.substring(0, 1) ? r[i] = A.substring(1) : r[i] = "-" + A, r.splice(i - 1, 1), i--)); return r } function calArrayProc(r, c, e, n) { var a = []; return (a = r.slice(0, c)).push(n), a.concat(r.slice(e)) } function calFmt(r) { var c = ("" + r).toLowerCase(); if (isNaN(c)) return "Error "; if ("" == c) return ""; if (0 <= c.indexOf("N") || r == 2 * r && r == 1 + r) return "Error "; var e = c.indexOf("e"); if (0 <= e) { var n = parseInt(c.substring(e + 1, c.length)); c = parseFloat(c.substring(0, e)), 11 < e && (e = 11), 10 == (A = c < 0 ? parseFloat((c - 5e-12 + "").substring(0, e)) : parseFloat((c + 5e-12 + "").substring(0, e))) ? (A = 1, n++) : -10 == A && (A = -1, n++), c = A + " ×10" + n + "" } else { var a = !1; r < 0 && (r = -r, a = !0); var o = Math.floor(r), s = r - o, t = calAccuracy - ("" + o).length - 1, i = " 1000000000000000000".substring(1, t + 2) + ""; i = "" == i || " " == i ? 1 : parseInt(i); var A = Math.floor(s * i + .5); o = Math.floor(Math.floor(r * i + .5) / i), c = a ? "-" + o : "" + o; var p = "00000000000000" + A; for (e = (p = p.substring(p.length - t, p.length)).length - 1; 0 <= e && "0" == p.charAt(e);) --e; p = p.substring(0, e + 1), 0 <= e && (c += "." + p) } return c } $(document).on("keypress", function(e) { var charCode = e.charCode; switch (charCode) { case 48: calculator("0"); break; case 49: calculator("1"); break; case 50: calculator("2"); break; case 51: calculator("3"); break; case 52: calculator("4"); break; case 53: calculator("5"); break; case 54: calculator("6"); break; case 55: calculator("7"); break; case 56: calculator("8"); break; case 57: calculator("9"); break; case 115: calculator("sin"); break; case 99: calculator("cos"); break; case 116: calculator("tan"); break; case 40: calculator("("); break; case 41: calculator(")"); break; case 94: calculator("pow"); break; case 42: calculator("*"); break; case 47: calculator("/"); break; case 43: calculator("+"); break; case 45: calculator("-"); break; case 61: calculator("="); break; case 13: calculator("="); break; case 97: calculator("ans"); break; case 108: calculator("ln"); break; case 103: calculator("log"); break; case 33: calculator("n!"); break; case 112: calculator("pi"); break; case 101: calculator("e"); break; case 46: calculator("."); break; case 83: calculator("asin"); break; case 67: calculator("acos"); break; case 84: calculator("atan"); break; case 37: calculator("pc"); break; case 113: calculator("sqrt"); break; case 98: calculator("bk"); break; default: break; } }); $(document).on("keydown", function(e) { var keyCode = e.keyCode; if(keyCode == 66 || keyCode == 46 || keyCode == 8) { calculator("bk"); } else if(keyCode == 27) { calculator("C"); } }); $(document).on("click", function(e) { var popup = document.getElementById("calHistory"); if(!e.target.classList.contains("history")){ popup.classList.remove("show"); } }); function rollbackHistory(index) { var temp = calRollbackHistory[index]; //copy for new array / not assign calInputs = temp.slice(0); //trigger calculate display by add and remove char calculator(0); calculator('bk'); } function calRadDeg(param) { if(calDegreeRadians == "degree") { calDegreeRadians = "radians"; $('#calDeg').css("opacity", "0.5"); $('#calRad').css("opacity", "1"); } else { calDegreeRadians = "degree"; $('#calRad').css("opacity", "0.5"); $('#calDeg').css("opacity", "1"); } } function last(array, n) { if (array == null) return void 0; if (n == null) return array[array.length - 1]; return array.slice(Math.max(array.length - n, 0)); };

WEB電卓:log、ルートの計算もオンラインで | ラッコツールズ🔧 (2024)
Top Articles
Latest Posts
Article information

Author: Dean Jakubowski Ret

Last Updated:

Views: 5539

Rating: 5 / 5 (70 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Dean Jakubowski Ret

Birthday: 1996-05-10

Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

Phone: +96313309894162

Job: Legacy Sales Designer

Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.