Skip to content

Commit 24b13a4

Browse files
feat(steps): Unify conversion steps for better readability
1 parent 37287ad commit 24b13a4

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

pages/index.js

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ export default function ConverterPage() {
7272

7373
const convertIntegerPartToDecimal = (integerStr, fromBase) => {
7474
let steps = [];
75-
steps.push({ key: 'step.convertIntToDec', values: { integer: integerStr, fromBase: fromBase } });
7675
let decimal = 0;
7776
const validChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
7877
let stepDetails = "";
@@ -84,14 +83,13 @@ export default function ConverterPage() {
8483
decimal += addValue;
8584
stepDetails += `${digit} × ${fromBase}^${i} = ${digitValue} × ${power} = ${addValue}\n`;
8685
}
87-
steps.push({ key: 'step.intConversionDetails', values: { details: stepDetails, sum: decimal } });
86+
steps.push({ key: 'step.intConversionDetails', values: { integer: integerStr, fromBase: fromBase, details: stepDetails, sum: decimal } });
8887
return { result: decimal, steps };
8988
};
9089

9190
const convertFractionalPartToDecimal = (fractionalStr, fromBase) => {
9291
let steps = [];
9392
if (!fractionalStr) return { result: 0, steps };
94-
steps.push({ key: 'step.convertFracToDec', values: { fractional: fractionalStr, fromBase: fromBase } });
9593
let decimal = 0;
9694
const validChars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
9795
let stepDetails = "";
@@ -103,7 +101,7 @@ export default function ConverterPage() {
103101
decimal += addValue;
104102
stepDetails += `${digit} × ${fromBase}^-${i+1} = ${digitValue} × ${power.toFixed(6)} = ${addValue.toFixed(6)}\n`;
105103
}
106-
steps.push({ key: 'step.fracConversionDetails', values: { details: stepDetails, sum: decimal } });
104+
steps.push({ key: 'step.fracConversionDetails', values: { fractional: fractionalStr, fromBase: fromBase, details: stepDetails, sum: decimal } });
107105
return { result: decimal, steps };
108106
};
109107

@@ -126,7 +124,6 @@ export default function ConverterPage() {
126124

127125
const convertIntegerToBase = (integer, toBase) => {
128126
let steps = [];
129-
steps.push({ key: 'step.convertIntFromDec', values: { integer: integer, toBase: toBase } });
130127
if (integer === 0) {
131128
steps.push({ key: 'step.zeroIsZero' });
132129
return { result: '0', steps };
@@ -137,12 +134,11 @@ export default function ConverterPage() {
137134
let num = integer;
138135
while (num > 0) {
139136
const remainder = num % toBase;
140-
stepDetails += `${num} / ${toBase} = ${Math.floor(num / toBase)} (${t('step.remainder')}: ${remainder}${validChars[remainder]})
141-
`;
137+
stepDetails += `${num} / ${toBase} = ${Math.floor(num / toBase)} (${t('step.remainder')}: ${remainder}${validChars[remainder]})\n`;
142138
result = validChars[remainder] + result;
143139
num = Math.floor(num / toBase);
144140
}
145-
steps.push({ key: 'step.intToBaseDetails', values: { details: stepDetails, result: result } });
141+
steps.push({ key: 'step.intToBaseDetails', values: { integer: integer, toBase: toBase, details: stepDetails, result: result } });
146142
return { result, steps };
147143
};
148144

@@ -158,8 +154,7 @@ export default function ConverterPage() {
158154
const originalFrac = frac;
159155
frac *= toBase;
160156
const digit = Math.floor(frac);
161-
stepDetails += `${originalFrac.toFixed(6)} * ${toBase} = ${frac.toFixed(6)}${t('step.integerPart')}: ${digit} (${validChars[digit]})
162-
`;
157+
stepDetails += `${originalFrac.toFixed(6)} * ${toBase} = ${frac.toFixed(6)}${t('step.integerPart')}: ${digit} (${validChars[digit]})\n`;
163158
result += validChars[digit];
164159
frac -= digit;
165160
count++;

0 commit comments

Comments
 (0)