Após analisar o J2ME (na verdade já mexi faz muito tempo com J2ME, foi uma relembrança!), especificamente usando o CLDC 1.0, percebi que não há suporte para ponto flutuante. Sendo assim, resolvi fazer uma função/classe que resolva isso:
static void Main(string[] args)
{
// define os números a serem divididos e a precisão
int x = 10;
int y = 9;
int casas = 3;
// pega o valor inteiro da divisão
int resultado = x / y;
// descobre quanto falta para completar a próxima multiplicação inteira
int falta = x - (resultado * y);
// sabendo quanto falta, sabemos qual o percentual que falta (fração)
int prop = (falta * (int)Math.Pow(10,casas) ) / y;
resultado = resultado * (int)Math.Pow(10, casas) + prop;
}
Vc pode colocar o número de casas decimais que quiser. Se colocar 3, por exemplo, o resultado de 10/9 será 1111, ou seja, 1,111. O que o código faz é guardar no prório inteiro o resultado da operação. Seria como se o significando inteiro fosse 1111 e o expoente -3.
Nenhum comentário:
Postar um comentário