Wie kann ich eine Zahl ohne if-Anweisungen auf die nächsten zehn runden? Zum Beispiel, 98 bis 100.Wie komme ich auf die nächsten zehn?
int num = 87;
double t;
double d = 1.0 * num; // d = 87.0
t = d/100;
System.out.println(t);
Wie kann ich eine Zahl ohne if-Anweisungen auf die nächsten zehn runden? Zum Beispiel, 98 bis 100.Wie komme ich auf die nächsten zehn?
int num = 87;
double t;
double d = 1.0 * num; // d = 87.0
t = d/100;
System.out.println(t);
können Sie Math.round(num/10.0) * 10
verwenden.
answer = ((num+5)/10)*10; // if num is int
wo num
ist int
und mehr Idee, diese quesiton lesen. How to round a number to n decimal places in Java.
Edit:
wenn num
ist double
Schublade gesteckt zu Ausdruck hinzufügen (long)((num+5)/10)
wie @PeterLawrey vorgeschlagen
Sind Sie sicher? Wenn 'num' 14.0 ist, dann wird dies zu 20 ausgewertet. – Bathsheba
Ich könnte einen Senior-Moment haben, aber das letzte Mal, als ich überprüfte, (14,0 + 5)/10 ist 1,9, die 2,0 beim Runden wird. Denken Sie daran, dass 'Math.round' deutsche Rundungen implementiert. – Bathsheba
Die Besetzung eines int zu einem int ist redundant, schlimmer, wenn es schon lang ist. –
, wenn Sie durch 10d oder 10,0 dividieren kann num jede (primitive) Zahl sein. –
Wahr, bearbeitet. @Peter – Zarwan