Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 29 Noviembre 2019, 04:16 am



Título: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
Publicado por: Leguim en 29 Noviembre 2019, 04:16 am
Buenas noches,

me preguntaba como podía incrementar de 1 en 1 un "numero" en formato "versión"...
si yo tuviera el valor 4 y les dijera que voy a incrementarlo en 1 el resultado sería 5, si yo les dijera que tiviera el valor 999 y lo voy a incrementar en 1 el valor seria 1.000 (respetando el punto) pero si yo les dijera que tengo la "v1.3.1" y tengo que aumentar a 1 sería "v1.3.2"

Ya creo que se entendió xD
solamente no se como puedo incrementar este valor que ni siquiera es un valor es algo que se me ocurrió.. xD


Título: Re: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
Publicado por: @XSStringManolo en 29 Noviembre 2019, 13:24 pm
Código
  1. var v = ["V",".","0",".","0",".","0",".","0",".","1"];
  2. var x = parseInt(v[10]);
  3. ++x;
  4. v[10] = x.toString();
  5. alert(v.join(''));

1.Declaro array.
2.Obtengo el último elemento del array "1", lo convierto en int 1 (pasa de ser un texto(string) a un numero(int) y lo guardo en la variable x.
3.Aumento el valor de la variable x con el operador de pre-incremento.
4.Casteo el nuevo valor int 2 de x en string "2". Lo asigno al último elemento del array.
5.Lo muestro elminando las comas del array en el output.

Lo puedes hacer de muchas otras formas.

PD: Si quieres que aumente el penúltimo al llegar a 1000:
Código
  1. /* En vez de v[10] usa v[i]. */
  2. var i = 10;
  3. var v = ["V",".","0",".","0",".","0",".","0",".","1"];
  4. var x = parseInt(v[i]);
  5. ++x;
  6. if (x === 1000)
  7. {
  8. x = 1;
  9. i -=2;
  10.  
  11.   if (i === 0)
  12.   {
  13.   i = 10;
  14.   }
  15.  
  16. }
  17. v[i] = x.toString();
  18. alert(v.join(''));

Ahora lo que hace es que si el numero llega a 1000, se ponga a 0 y se moifique la versión anterior. Ejemplo V.0.0.0.0.999 le sumas 1 y pasa a ser V.0.0.0.1.0
En el segundo if si se llega a la V sez vuelve a empezar por el último dígito. También puedes añadir un nuevo punto y número al final. No sé si la implementación está bien, es por mostrar la lógica más que nada.

Tienes que añadirle un par de cosas más para que funcione exactamente como lo quieres. Si lo haces con funciones te es fácil acabar la implementación.


Título: Re: [Pregunta]: ¿Incrementar de a 1 un formato "versión"?
Publicado por: Leguim en 30 Noviembre 2019, 04:57 am
¡Wuau te luciste, gracias!