Problem z dzieleniem

0

Witam. mam taki kod

float c;
int a;

for (int i = 0; i < tab.length; i++) {
   a = r.nextInt(3) - 1;
   c = r.nextInt(300);
   c = c / 100;
   switch (a) {
      case 1:
         tab[i] += c;
         break;
      case -1:
         tab[i] -= c;
         break;
   default:
      break;
   }
}

chce zeby kazdy element powiekszyc lub zmniejszyc o losową wartość. ogolnie dziala dobrze ale daje wyniki (dla tab[i]=10) 17.710001 1.0299994 itp. I jak zrobić alby zaokrąglały sie one do dwóch miejsc po przecinku?

0

Da się to skrócić do:

                for(int i=0;i<tab.length;++i) tab[i]+=r.nextInt(300)/(r.nextInt(2)*200-100.0);

Z zaokrągleniem:

                for(int i=0;i<tab.length;++i) tab[i]+=r.nextInt(30000)/(r.nextInt(2)*200-100)/100.0;

1 użytkowników online, w tym zalogowanych: 0, gości: 1