mirror of
https://github.com/arthur-pbty/site-convertisseur-de-base.git
synced 2026-06-24 22:25:21 +02:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
const convertButton = document.getElementById('convertButton');
|
||||
const baseSource = document.getElementById('baseSource');
|
||||
const baseDestination = document.getElementById('baseDestination');
|
||||
const numberInput = document.getElementById('numberInput');
|
||||
const resultOutput = document.getElementById('resultOutput');
|
||||
const toggleThemeButton = document.getElementById('toggleTheme');
|
||||
|
||||
for (let i = 2; i <= 36; i++) {
|
||||
let option = new Option(i, i);
|
||||
baseSource.add(option.cloneNode(true));
|
||||
baseDestination.add(option);
|
||||
}
|
||||
|
||||
// Convert and display result with error handling
|
||||
convertButton.addEventListener('click', () => {
|
||||
const sourceBase = parseInt(baseSource.value);
|
||||
const destinationBase = parseInt(baseDestination.value);
|
||||
const number = numberInput.value.trim();
|
||||
|
||||
try {
|
||||
if (!number.match(/^[0-9A-F]+$/i)) {
|
||||
throw new Error('Nombre invalide pour la base donnée');
|
||||
}
|
||||
const result = parseInt(number, sourceBase).toString(destinationBase);
|
||||
if (isNaN(result)) {
|
||||
throw new Error('Conversion impossible');
|
||||
}
|
||||
resultOutput.value = result.toUpperCase();
|
||||
} catch (error) {
|
||||
resultOutput.value = 'Erreur';
|
||||
}
|
||||
});
|
||||
|
||||
// Toggle dark theme
|
||||
toggleThemeButton.addEventListener('click', () => {
|
||||
document.body.classList.toggle('dark');
|
||||
toggleThemeButton.textContent = document.body.classList.contains('dark') ? 'Thème Clair' : 'Thème Sombre';
|
||||
});
|
||||
Reference in New Issue
Block a user