Jag vill runda av ett flyttal uppåt så fort talet överstiger ett heltal.
Exempelvis skall divisionen 14/10 ge 2 och inte 1.4. Med andra ord, så fort resultatet överstiger heltalskvoten av divisionen skall det höjas till nästa heltal uppåt.
Hmm, tror inte det finns någon färdig metod för detta men jag är inte säker.
Math-klassen innehåller bara en round(up) metod. Sedan finns NumberFormat men den är mer för att hantera antal decimaler dvs utseendet på talet.
Så här kan då en fullösning på problemet se ut:
double a = 0.4999999999999;
double b = 14.0/10.0;
double c = b+a;
System.out.println((int)Math.round(c));
Först så kan man inte dividera 14/10 och förvänta sig ett decimaltal utan då får man en hettal.
Därför får antingen båda eller en av talen vara decumaltal. Mna kan också casta dem till double vilket kan avara praktiskt om de inte sätts i koden.
Sedan är det bara att öka det tal med 0.49999....
och avrunda det med den vanliga avrundningsmetoden.
Om talet skulle vara ett heltal så kommer denna metod runda ner till den det heltalet.