Ave cara, ou eu não entendi nada ou é vc q não entendeu…
Tipo, q diferença faz ? É só vc usar o q o cara falou e armazenar o valor numa String e logo na linha de baixo já converter p/ Inteiro e armazenar na variável inteiro.
Não existe nada impossível de se fazer em Java
em rotinas COBOL p/ armazenar no banco em mainframe, TODOS os digitos devem ser preenchidos p/ serem inseridos…
entao preciso de um numero tipo 0020 p/ inserir no banco…
qdo converto p/ inteiro, fico apenas com 20…e isso nao serve p/ mim…
Me desculpe, realmente eu não havia entendido corretamente sua pergunta.
Infelizmente eu sou iniciante e não sei como fazer isso q vc quer. Pode ser q seja necessário desenvolver uma rotina própria p/ isso. O problema é p/ desenvolver isto, já q tipos inteiros em Java não começam c/ 0 pelo q eu sei. Mas como já disse nada é impossível de se fazer c/ Java
um int eh uma primitiva em java
uma String eh uma classe/instancia = objeto.
se voce quer possuir um numero, voce pode armazena-lo numa int. o mesmo que um integer em vb, nao sei como eh em Cobol. em C por exemplo t ambem eh um int.
para trabalhar com digitos a esquerda voce precisa, em todas as linguages q citei, formatar o numero para UMA STRING. isso acontece devido a arquitetura das nossas maquinas. uma int em java tem 32 bits, que sao COMPLETAMENTE USADOS para representar essa int. nao tem espaco extra pra um 0 a esquerda.
se vc converte num formato para String voce vai ter os 0 a esquerda pq a String eh uma array de caracteres (internamente)
a resposta eh que nao existe solucao para o que voce procura
ou voce usa um objeto String que represente o numero temporariamente para a impressao/manipulacao ou passa o int pra frente e trata ele depois. mas sempre tera que ser com string.
o mesmo ocorre com o c e o vb, voce precisa transformar em string… sem escapatorias… eh a maquina, eh a vida (sem querer dizer q a maquina eh a minha vida)
int i nunca vai imprimir 0020 (a partir da versao 1.5 do java vai dar)
entao voce precisa usar como String mesmo, e coloca no SQL uma String ao inves do inteiro. Nao deve ser problemas.
Ou entao voce faz um if. Tipo, se o numero eh menor do que cem, imprime dois zeros antes, etc…
Parece que em Java não dá mesmo pra fazer o que vc quer. Vc está querendo passar o int já com 4 dígitos a partir do Java. Vc não pode passar como int mesmo e tratar esse número no comunicador, no COBOL ou no DB2 pra formatar do jeito que vc quer?
Nunca usei COBOL nem DB2. Desculpe se falei besteira.
me diz uma coisa, você é obrigado a utilizar este intermediario???
se o banco esta armazenado em um DB2, você pode utilizar o driver JDBC do proprio DB2, com certeza vai ser mais rapido e mais fácil