Bonjour,
j'ai besoin de votre aide.

Je veux faire l'arrondi avec des conditions comme suit :

Au gramme le plus proche sans décimale si ≥10 g
Au décigramme le plus proche si < 10 g et > 0,5 g
«*0 g*» ou «*< 0,5 g*» autorisé si ≤ 0,5 g

Pour cela j'ai créé une méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private Double nearByValueEur (Double value, Double minValue){
		Double res = 0.0;
		if (value >=10){
			res= (double) Math.round(value);
		}
		else if (value >minValue && value <10){
 
        	BigDecimal bd = new BigDecimal(value);
        	bd= bd.setScale(2, RoundingMode.UP);
        	value = bd.doubleValue();
		}
		else if (value == minValue){
 
			res=minValue;
		}
		else{
			String msg= "Moins de 0,5 g sont autorisés";
			return res= Double.valueOf(msg);
		}
		return res;
	}
Quand je lance, le programme ne marche pas. J'ai des doutes par rapport à la boucle.
Si quelqu'un peut me corriger ou m'expliquer la faute.
Je vous en remercie par avance.