Je voudrais arrondir les nombres entiers à leur 1000 le plus proche en Java.Comment arrondir * vers le bas * les entiers en Java?
Ainsi, par exemple:
- 13.623 tours à 13.000
- 18999 tours à 18 000
- etc
Je voudrais arrondir les nombres entiers à leur 1000 le plus proche en Java.Comment arrondir * vers le bas * les entiers en Java?
Ainsi, par exemple:
Il suffit de diviser par 1000 pour perdre les chiffres qui ne sont pas intéressants pour vous, et multiplier par 1000:
i = i/1000 * 1000
Ou, vous pouvez aussi essayer:
i = i - (i % 1000)
+1: Je n'ai jamais pensé à utiliser le module de cette façon. En outre, vous pouvez raccourcir légèrement la ligne en faisant 'i - = i% 1000' (non, si des parenthèses sont requises autour du côté droit ou non) – Powerlord
Vraiment? J'ai toujours pensé à modulus comme un moyen d'obtenir les unités d'un nombre ('i% 10') etc. En ce qui concerne la version raccourcie - c'est probablement ce que je ferais dans mon code, mais je voulais qu'il soit clair ici. – abyx
Ceci arrondit vers zéro. – starblue
Vous pouvez diviser le nombre par 1000, appliquer Math.floor
, il faut multiplier par 1000 et rejetterait à l'entier.
Voulez-vous dire arrondir vers le bas ou arrondir à zéro? Il y a une différence quand les chiffres peuvent être négatifs. –
en fait je veux dire arrondir à la baisse donc je n'ai que des milliers à traiter, c'est-à-dire 43 844 arrondis à 43 000 (pas 44 000) – Redandwhite