Necesito autogenerar codigo

Hola necesito una ayuda, una BD. pero quiero que al insertar un nuevo registro, se genero el codigo de la siguiente manera: P0001.P0002.P0003....P000?????.,cuando llegue a 10 que salga P0010.P0011.P0012... cuando llegue a 100 que aparezca P0100.P0101.P0102.-- y asi sucesivamente. quien me puede ayudar, estoy ttrabajando coon consultas en un BD detro del MySQL, y Java con entorno de programación Netbeans.... necesito su ayuda si alguien puede ayudarme le estare muy agradecido.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

String.format("P%04d", 100);

 

Imagen de ezamudio

jajaj

algo así iba a contestar yo pero luego pensé que tal vez el problema que tenían era con la aritmética...

Quien sabe! A veces resulta

Quien sabe! A veces resulta realmente difícil entender la pregunta. Esto es lo que yo entendí: como poner ceros a la izquierda.

en realidad es como poner

en realidad es como poner ceros a la izquierda, pero a medida que avanza el numero éstos se disminuyan
gracias

Imagen de rodrigo salado anaya

siguen siendo.

Siguen siendo ceros a la derecha.

0001
0002
...
0009
0010
....
0099
0100
0101
...

Imagen de rodrigo salado anaya

Ejemplo con Groovy

Mira te dejo unos ejemplos escritos con Groovy, ya se que en java no tienes lo que te pongo pero espero te den una idea de como resolver tu problema, aun que probablemente el ejemplo fill3 es el que más te sirva. Saludos.

 
 

@lorena Ya probaste lo que

@lorena Ya probaste lo que conteste inicialmente? Es exactamente lo que dices en el segundo comentario.

 

Si, muchas gracias ya lo

Si, muchas gracias ya lo hice, pude poner el codigo que necesito en el Jtext, ahora el problema es ¿ cómo guardarlo en la BD como ID en una determinada tabla?

Imagen de Eduardo Vargas

Puedes guardarlo como llave primaria

Puedes guardar esos datos en la tabla en un campo que sea la llave primaria y así evitas que se puedan repetir, si es que eso es lo que necesitas

Imagen de ezamudio

ASH

String.format("%05d", numero)

y ya. No puede ser que se compliquen tanto escribiendo rutinas para convertir el número a cadena y rellenarlo con ceros a la izquierda cuando ya existe String.format.

Y si no les gusta el performance de String.format usen un DecimalFormat, también sirve para enteros.

ok. gracias a todos por su

ok. gracias a todos por su ayuda