Então pessoal, preciso pegar um valor e distribuir o troco float em moedas de 1 real, 50 centavos, 25 centavos, 10 centavos e 5 centavos, utilizei o seguinte código:
troco = troco * 100; //Multiplico meu troco por 100
int trocoTemp = (int)troco;
int moedade1 = (trocoTemp / 100);
System.out.println("Notas de RS 1 = " + moedade1);
trocoTemp = trocoTemp - (moedade1 * 100);
int moedade50cnts = (trocoTemp / 50);
System.out.println("Moedas de RS 0,50 = " + moedade50cnts);
trocoTemp = trocoTemp - (moedade50cnts * 50);
int moedade25cnts = (trocoTemp / 25);
System.out.println("Moedas de RS 0,25 = " + moedade25cnts);
trocoTemp = trocoTemp - (moedade25cnts * 25);
int moedade10cnts = (trocoTemp / 10);
System.out.println("Moedas de RS 0,10 = " + moedade10cnts);
trocoTemp = trocoTemp - (moedade10cnts * 10);
int moedade5cnts = (trocoTemp / 5);
System.out.println("Moedas de RS 0,05 = " + moedade5cnts);
contudo, ao declarar 17,95 de troco ele me da 17 moedas de 1 real, 1 moeda de 50 cents, 1 moeda de 25 cents, 1 moeda de 10 cents e 1 de 5 cents, mas na vdd seria 2 de 10 centavos e 0 de 5 centavos, não consegui achar meu erro