Это распространенная проблема точности.Литерал 136.73
фактически означает число
136.729999999999989768184605054557323455810546875
, а результат a-(int)a
- это не 0.73
(хотя это и отображается), а скорее
0.729999999999989768184605054557323455810546875
Когда вы умножаете это на 100
, вы получаете
72.9999999999989768184605054557323455810546875
И, поскольку преобразование из двойного в целое число обрезает все после десятичной точки, вы получаете 72
.