2015-10-14 4 views
0
class calc_Payroll 

    private float hours; 
    private float rate; 
    private int hrsStr; 
    float gross; 

    calc_Payroll(float a, float b, float c, float d) 
    { 
    gross = hours + (hrsStr * 1.33) * rate; //error here 
    } 

Я смущен относительно того, где я превратил что-либо в двойное? но ошибка я получаюПреобразование двойного плавающего

не может тайные двойным плавать

+1

Возможный дубликат http://stackoverflow.com/questions/16369726/declaring-floats-why-default-type-double – Keale

+0

related: http://stackoverflow.com/questions/3033137/representing-float-values- in-java http://stackoverflow.com/questions/14102955/java-why-do-you-need-to-specify-af-in-a-float-literal – Keale

+0

дубликат http://stackoverflow.com/questions/16369726/declaring-floats-why-default-type-double – T8Z

ответ

4

1.33 является double буквальным, и это вызывает все hours + (hrsStr * 1.33) * rate выражения возвращает значение double, которые не могут быть отнесены к float переменной без явное приведение.

Измените его на 1.33f на float буквально.

+0

Большое спасибо! – Kiotzu

Смежные вопросы