.scientific-calculator-container {
font-family: -apple-system, BlinkMacSystemFont, “Segoe UI”, Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.breadcrumbs {
font-size: 14px;
color: #666;
margin-bottom: 15px;
}
.breadcrumbs a {
color: #2271b1;
text-decoration: none;
}
.breadcrumbs a:hover {
text-decoration: underline;
}
.calculator-header {
text-align: center;
margin-bottom: 25px;
}
.calculator-header h1 {
color: #2c3338;
margin-bottom: 10px;
font-size: 28px;
}
.section {
margin-bottom: 40px;
padding-bottom: 20px;
border-bottom: 1px solid #e0e0e0;
}
.section-title {
color: #2271b1;
margin-bottom: 15px;
font-size: 20px;
}
.input-group {
margin-bottom: 15px;
}
.input-group label {
display: block;
margin-bottom: 5px;
font-weight: 500;
color: #2c3338;
}
.input-field {
width: 100%;
max-width: 300px;
padding: 10px;
border: 1px solid #8c8f94;
border-radius: 4px;
font-size: 16px;
}
.input-field:focus {
border-color: #2271b1;
outline: none;
box-shadow: 0 0 0 1px #2271b1;
}
.button {
padding: 10px 15px;
background-color: #2271b1;
color: white;
border: none;
border-radius: 4px;
font-size: 15px;
cursor: pointer;
transition: background-color 0.2s;
}
.button:hover {
background-color: #135e96;
}
.button-group {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 20px 0;
}
.results {
margin-top: 25px;
padding: 15px;
background-color: #f6f7f7;
border-radius: 4px;
border-left: 4px solid #2271b1;
}
.result-item {
margin-bottom: 10px;
}
.result-label {
font-weight: 600;
color: #2c3338;
}
.result-value {
font-family: Consolas, Monaco, monospace;
font-size: 16px;
color: #1d2327;
word-break: break-all;
}
.notation-example {
font-size: 14px;
color: #646970;
margin-top: 5px;
}
.calculator-grid {
display: grid;
grid-template-columns: auto 40px auto;
gap: 10px;
align-items: center;
margin-bottom: 15px;
}
.small-input {
width: 60px;
text-align: center;
}
@media (max-width: 600px) {
.calculator-grid {
grid-template-columns: 1fr;
}
.small-input {
width: 100%;
}
}
// Number conversion functions
function convertNumber() {
const input = document.getElementById(‘number-to-convert’).value.trim();
if (!input) {
alert(‘Please enter a number’);
return;
}
let number;
try {
if (input.includes(‘x10^’) || input.includes(‘×10^’)) {
// Handle 3.5×10^-12 format
const parts = input.split(/x10\^|×10\^/);
const coefficient = parseFloat(parts[0]);
const exponent = parseFloat(parts[1]);
number = coefficient * Math.pow(10, exponent);
} else if (input.includes(‘e’) || input.includes(‘E’)) {
// Handle 2.3e11 format
number = parseFloat(input);
} else {
// Handle regular number format
number = parseFloat(input);
}
if (isNaN(number)) {
throw new Error(‘Invalid number’);
}
} catch (e) {
alert(‘Please enter a valid number in one of these formats:\n3672.2, 2.3e11, or 3.5×10^-12’);
return;
}
// Display results
document.getElementById(‘sci-notation-result’).textContent = toScientificNotation(number);
document.getElementById(‘e-notation-result’).textContent = toENotation(number);
document.getElementById(‘eng-notation-result’).textContent = toEngineeringNotation(number);
document.getElementById(‘real-number-result’).textContent = number.toString();
document.getElementById(‘conversion-results’).style.display = ‘block’;
}
function toScientificNotation(num) {
if (num === 0) return ‘0’;
const exp = Math.floor(Math.log10(Math.abs(num)));
const coeff = num / Math.pow(10, exp);
return roundToPrecision(coeff, 6) + ‘ × 10^’ + exp;
}
function toENotation(num) {
if (num === 0) return ‘0’;
const exp = Math.floor(Math.log10(Math.abs(num)));
const coeff = num / Math.pow(10, exp);
return roundToPrecision(coeff, 6) + ‘e’ + exp;
}
function toEngineeringNotation(num) {
if (num === 0) return ‘0’;
const exp = Math.floor(Math.log10(Math.abs(num)));
const engExp = Math.floor(exp / 3) * 3;
const coeff = num / Math.pow(10, engExp);
return roundToPrecision(coeff, 6) + ‘ × 10^’ + engExp;
}
// Calculation functions
function calculate(operation) {
const xCoeff = parseFloat(document.getElementById(‘x-coeff’).value);
const xExp = parseFloat(document.getElementById(‘x-exp’).value);
const yCoeff = parseFloat(document.getElementById(‘y-coeff’).value);
const yExp = parseFloat(document.getElementById(‘y-exp’).value);
const precision = parseInt(document.getElementById(‘precision’).value);
if (isNaN(xCoeff) || isNaN(xExp)) {
alert(‘Please enter valid values for X’);
return;
}
if (operation !== ‘sqrt’ && operation !== ‘square’ && (isNaN(yCoeff) || isNaN(yExp))) {
alert(‘Please enter valid values for Y’);
return;
}
if (isNaN(precision) || precision 50) {
alert(‘Precision must be between 1 and 50’);
return;
}
const x = xCoeff * Math.pow(10, xExp);
const y = yCoeff * Math.pow(10, yExp);
let result, operationText;
switch(operation) {
case ‘add’:
result = x + y;
operationText = formatNumber(x) + ‘ + ‘ + formatNumber(y);
break;
case ‘subtract’:
result = x – y;
operationText = formatNumber(x) + ‘ – ‘ + formatNumber(y);
break;
case ‘multiply’:
result = x * y;
operationText = formatNumber(x) + ‘ × ‘ + formatNumber(y);
break;
case ‘divide’:
if (y === 0) {
alert(‘Cannot divide by zero’);
return;
}
result = x / y;
operationText = formatNumber(x) + ‘ ÷ ‘ + formatNumber(y);
break;
case ‘power’:
result = Math.pow(x, y);
operationText = formatNumber(x) + ‘^’ + formatNumber(y);
break;
case ‘sqrt’:
if (x < 0) {
alert('Cannot calculate square root of negative number');
return;
}
result = Math.sqrt(x);
operationText = '√(' + formatNumber(x) + ')';
break;
case 'square':
result = Math.pow(x, 2);
operationText = formatNumber(x) + '²';
break;
default:
alert('Invalid operation');
return;
}
// Display results
document.getElementById('operation-display').textContent = operationText;
document.getElementById('calculation-result').textContent = result.toFixed(precision);
document.getElementById('calculation-sci').textContent = toScientificNotation(result);
document.getElementById('calculation-e').textContent = toENotation(result);
document.getElementById('calculation-results').style.display = 'block';
}
function formatNumber(num) {
const exp = Math.floor(Math.log10(Math.abs(num)));
const coeff = num / Math.pow(10, exp);
return roundToPrecision(coeff, 3) + '×10^' + exp;
}
function roundToPrecision(num, precision) {
return Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision);
}
Scientific Notation Calculator
Scientific Notation Converter
Provide a number below to get its scientific notation, E-notation, engineering notation, and real number format.
It accepts numbers in the following formats: 3672.2, 2.3e11, or 3.5×10^-12.
Scientific Notation:
E-Notation:
Engineering Notation:
Real Number:
Scientific Notation Calculator
Use the calculator below to perform calculations using scientific notation.
X =
×10
Y =
×10
Precision:
digits after the decimal place
Operation:
Result:
Scientific Notation:
E-Notation: