Eu estava usando a solução acima para implementar o meu código, porém estava tendo um probleminha: Em alguns casos, os números eram exibidos como se tivesse subtraído 1. Ou seja, a forma acima, embora seja correta matematicamente, pode gerar falta de precisão . Passei a usar essa fórmula e não tive mais problemas…
double valor;
int unidadeFrac = ((int)(valor * 100)%100)%10;
int dezenaFrac =((int)((valor * 100)%100)/10)*10;
P.s.: Essa é só uma forma de compartilhar uma experiência e tentar ajudar os que, como eu, também são iniciantes em Java e ainda sofrem um pouco por causa da lógica! Ainda bem que temos o fórum!