Forum » Programiranje » Java čudni rezultati
Java čudni rezultati
bking ::
Če v javi napisem:
for (double i=-1; i<=1; i+=0.1)
{
System.out.println(i);
}
mi pol izpiše:
-1.0
-0.9
-0.8
-0.7000000000000001
-0.6000000000000001
-0.5000000000000001
-0.40000000000000013
-0.30000000000000016
-0.20000000000000015
-0.10000000000000014
-1.3877787807814457E-16
0.09999999999999987
0.19999999999999987
0.2999999999999999
0.3999999999999999
0.4999999999999999
0.5999999999999999
0.6999999999999998
0.7999999999999998
0.8999999999999998
0.9999999999999998
če kdo ve zakaj je to tako ozirom kaj naj nardim, da
bom to zrihtu , naj prosim pove.
for (double i=-1; i<=1; i+=0.1)
{
System.out.println(i);
}
mi pol izpiše:
-1.0
-0.9
-0.8
-0.7000000000000001
-0.6000000000000001
-0.5000000000000001
-0.40000000000000013
-0.30000000000000016
-0.20000000000000015
-0.10000000000000014
-1.3877787807814457E-16
0.09999999999999987
0.19999999999999987
0.2999999999999999
0.3999999999999999
0.4999999999999999
0.5999999999999999
0.6999999999999998
0.7999999999999998
0.8999999999999998
0.9999999999999998
če kdo ve zakaj je to tako ozirom kaj naj nardim, da
bom to zrihtu , naj prosim pove.
losnah ::
No ja, ker sem JAVO videl samo enkrat in nikoli vec, nevem koliko bo to pomagal.
Na prvi pogled je bla podobna C-ju, zatorej ce obstaja funkcija printf ??? lahko naredis tako:
for(double i = -1; i <= 1; i += 0.1)
printf("%.1f\n", i);
Ce v JAVI obstaja ta funkcija.
Na prvi pogled je bla podobna C-ju, zatorej ce obstaja funkcija printf ??? lahko naredis tako:
for(double i = -1; i <= 1; i += 0.1)
printf("%.1f\n", i);
Ce v JAVI obstaja ta funkcija.
Imortales ::
Ma Java nekaj zeza s števili. Enkrat sem napisal en program, ki izračuna PI. Isti program je vračal različne rezultate na različnih računlanikih (z isto konfiguracijo). Aja, lahko bi probal zaokrožit števila.
To sporočilo se bo samo uničilo čez 5 sekund.
asPeteR ::
bking:
Mas dve moznosti.
1. Da lepo uporabis drug tip v zanki npr int, namesto double. In potem se ustrezno popravis korak iz 0.1 na 1, zakaj sploh uporabljas 0.1 korak??
2. Uporabis funkcijo v JAVI, ki ti lepo zaokrozi steviko ...
Mas dve moznosti.
1. Da lepo uporabis drug tip v zanki npr int, namesto double. In potem se ustrezno popravis korak iz 0.1 na 1, zakaj sploh uporabljas 0.1 korak??
2. Uporabis funkcijo v JAVI, ki ti lepo zaokrozi steviko ...
bking ::
Mal rešujem naloge iz računalništva, pa morš en program za ene funkcije napisat pol morš
pa to testirat na intervalu od -1 do 1 s korakom 0.1
LJ FRI-jevci vejo za aj gre
Glede zaokroževanja bi šlo razn tam kjer bi morala bit nula je čist preveiko odstopanje.
Zdej sm napisu tko:
for (double i=-10; i<=10; i+=1)
{
System.out.pintln(i/10);
}
pa izpise tko k mora.
Sam čudn se mi zdi, da je prej kar neki bluzil, zdej pa nevem al je to normaln in dela to
pri vseh al sam pri men.
pa to testirat na intervalu od -1 do 1 s korakom 0.1
LJ FRI-jevci vejo za aj gre
Glede zaokroževanja bi šlo razn tam kjer bi morala bit nula je čist preveiko odstopanje.
Zdej sm napisu tko:
for (double i=-10; i<=10; i+=1)
{
System.out.pintln(i/10);
}
pa izpise tko k mora.
Sam čudn se mi zdi, da je prej kar neki bluzil, zdej pa nevem al je to normaln in dela to
pri vseh al sam pri men.