• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

76
Views
cálculos de conversión de datos

Que tengas unas buenas vacaciones y gracias por tu ayuda.

Ya he intentado solucionar mi problema pero no he dado suficiente información intentaré reformularlo

Quiero que la salida sea estos números.

 input 14:1 output 141 input 13:8 output 141 input 13:18 output 241 input 18:13 output 291

el cálculo es el siguiente entrada 14:1 4+1 no es mayor que 9 por lo que el número uno es el resto y lo dejamos al final y sumamos 14 antes de que salga 141

entrada 13:8 3 + 8 es mayor que 9 (11) entonces sumo 1 a 3 de ellos se convierten en 4 y 1 es el resto que sumamos al final salida 141

 input 13:18 output 241 input 18:13 output 291

tratando de ayudarme aquí hay un código de ejemplo que agradecen a una mujer de Alemania por ello

 const fn = string => { const sum = (a, b) => (a + b).toString().padStart(2, 0).split(''), [a, b] = string.split(':').map(s => s.padStart(2, 0)), result = []; let i = 2; while (i--) { const sum = +a[i] + +b[i]; result[i] = sum > 10 ? +[+a[i] + Math.floor(sum / 10), sum % 10].join('') : sum === 10 ? 1 : sum; } return result.join(''); }; console.log(fn('13:18')); // I want 241 correct output 241 console.log(fn('18:13')); // I want 291 correct output 291 console.log(fn('13:15')); // I want 28 correct output 28 console.log(fn('15:13')); // I want 28 correct output 28 console.log(fn('14:1')); // I want 141 bad output 15 console.log(fn('13:8')); // I want 141 correct output 141 console.log(fn('78:96')) // I want 174 bad output "8694"

este código calcula algunos resultados correctamente y algunos incorrectamente

si es menor que 10 console.log (fn ('14: 1')); // Quiero esta salida 141 / da una mala salida "15"

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Según la lógica que ha explicado, y asumiendo que los números tendrán un máximo de 2 de longitud.

El prefijo PS + (signo más) convierte la cadena en tiempo de ejecución entero

Primera solución =>

 const fn = (string) => { const [a,b] = string.split(':').map(s=>s.padStart(2,0)), result=[]; // for first position result[0] = +a[0] + +b[0]; // for second position let secondIndexTotal = (+a[1] + +b[1]).toString(); result[1] = +secondIndexTotal > 9 ? (+a[1] + +secondIndexTotal[0]).toString() + secondIndexTotal[1] : a[1]+b[1]; return result.join(''); } console.log(fn('13:18')); // output 241 console.log(fn('18:13')); // output 291 console.log(fn('13:15')); // output 235 console.log(fn('15:13')); // output 253 console.log(fn('14:1')); // output 141 console.log(fn('13:8')); // output 141

Solución actualizada =>

 const fn = (string) => { const [a, b] = string.split(":").map((s) => s.padStart(2, 0)), result = []; // for second position const secondIndexTotal = (+a[1] + +b[1]).toString(); result[1] = +secondIndexTotal > 9 ? secondIndexTotal[1] : b[1]; // for first position const firstIndexTotal = +a[0] + +b[0]; result[0] = firstIndexTotal > 9 ? firstIndexTotal + (+secondIndexTotal > 9 ? +secondIndexTotal[0] : 0) : firstIndexTotal.toString() + (+a[1] + (+secondIndexTotal > 9 ? +secondIndexTotal[0] : 0)); return result.join(""); }; console.log(fn("13:18")); // output 241 console.log(fn("18:13")); // output 291 console.log(fn("78:96")); // output 174 console.log(fn("14:1")); // output 141 console.log(fn("13:15")); // output 235 console.log(fn("15:13")); // output 253

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error