João postou uma questão como esta em 2011, eu sei; mas não fiquei totalmente satisfeito com as soluções apresentadas. ('')
Por quê?
Para alocar um valor inteiro, pela solução apresentada teríamos de lembrar de digitá-lo com dois zeros no final. Por exemplo, se quisermos alocar o inteiro 41 teremos de digitar 4100. Além de contra-intuitivo (se quero 41, minha intuição pede para digitar 41 e não 4100), pode conduzir a erros caso o digitador se esqueça de digitar os dois zeros finais, o que levaria o formulário a alocar o número 0,41 (indesejado!).
Os sistemas bancários utilizam um algoritmo que evitaria o esquecimento citado. Vejamos como funcionaria para o exemplo do valor 41:
Passo 1: inicia com 0,00 no visor;
Passo 2: quando usuário digita 4 aparece 0,04;
Passo 3: quando usuário digita 1, aparece 0,41;
Passo 4: este número fracionário (0,41) força o usuário a digitar mais um zero, fazendo aparecer 4,10;
Passo 5: e finalmente o usuário vendo que o número que surgiu ainda é fracionário (4,10), digita mais um zero e ao digitá-lo aparecerá o número 41,00 que é o número desejado.
Pergunto quais os códigos e eventos capazes de realizar este algoritmo?
Agradeço antecipado.
Por quê?
Para alocar um valor inteiro, pela solução apresentada teríamos de lembrar de digitá-lo com dois zeros no final. Por exemplo, se quisermos alocar o inteiro 41 teremos de digitar 4100. Além de contra-intuitivo (se quero 41, minha intuição pede para digitar 41 e não 4100), pode conduzir a erros caso o digitador se esqueça de digitar os dois zeros finais, o que levaria o formulário a alocar o número 0,41 (indesejado!).
Os sistemas bancários utilizam um algoritmo que evitaria o esquecimento citado. Vejamos como funcionaria para o exemplo do valor 41:
Passo 1: inicia com 0,00 no visor;
Passo 2: quando usuário digita 4 aparece 0,04;
Passo 3: quando usuário digita 1, aparece 0,41;
Passo 4: este número fracionário (0,41) força o usuário a digitar mais um zero, fazendo aparecer 4,10;
Passo 5: e finalmente o usuário vendo que o número que surgiu ainda é fracionário (4,10), digita mais um zero e ao digitá-lo aparecerá o número 41,00 que é o número desejado.
Pergunto quais os códigos e eventos capazes de realizar este algoritmo?
Agradeço antecipado.