Afaik(kenn mich mit Fließkommazahlen nicht aus) liegt das daran, dass du double benutzt, ohne Nachkommastelle wird eine Fließkommazahl iirc in einen Integer umgewandelt.

Wieso hast du eigentlich b als Parameter? oO