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
Quand je lance, le programme ne marche pas. J'ai des doutes par rapport à la boucle.Code:
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; }
Si quelqu'un peut me corriger ou m'expliquer la faute.
Je vous en remercie par avance.