Autor Zpráva
Jont
Profil
Ahoj, práce na mém novém webu pokračuje docela dobře, jen jsem teď narazil na problém.
Mám tabulku nastroje a v ní sloupec hodn_prumer, který by měl uchovávat přesnou číselnou hodnotu průměrného hodnocení, které vždycky získám dělením hodnot ze sloupců hodn_pocet a hod_celkem (to udělám v php). No a prostě když se tam má vložit třeba podíl 7/3, tak se tam vloží jen 2 místo 2,3333. I když jsem tam vložil třeba 2,89795 tak se ve sloupci objeví zase jen 2. A když tam dám 0,297 tak 0. Sloupec je typu int(11).

Nevíte, jak udělat, aby se tam ukládala i ta desetinná čísla? Je problém v tom typu sloupce nebo někde jinde? Dík moc.
nightfish
Profil
Nevíte, jak udělat, aby se tam ukládala i ta desetinná čísla? Je problém v tom typu sloupce nebo někde jinde?
sloupce typu *int slouží k ukládání celočíselných hodnot... - zkus double, float nebo decimal
btw desetinná čísla se v mysql zapisují s desetinnou tečkou, ne čárkou
Jont
Profil
dík. dal jsem tam float a místo čárky tečku a už to funguje. aspoň budu pro příště vědět, že to int je jen pro celá čísla (zmátlo mě, že v té ofic. dokumentaci o tom není myslím zmínka).
jinak ještě: je nějaký rozdíl mezi tím double a float? a nemám radši použít to decimal (sem si přečetl, že to je úplně přesné)?
Alphard
Profil
je nějaký rozdíl mezi tím double a float?
ano, v rozsahu
A precision from 0 to 23 results in a four-byte single-precision FLOAT column. A precision from 24 to 53 results in an eight-byte double-precision DOUBLE column.

a nemám radši použít to decimal
IMHO v tomto případě není nutný, ale nevidím do kontextu

doporučuji projít si http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html, z té stránky je i citace výše
přepokládám, že angličtina není problém, v opačném případě pokračujte tady http://www.linuxsoft.cz/article.php?id_article=768
Jont
Profil
díky za info, teď už jsem na čísla v mysql profík :).
Toto téma je uzamčeno. Odpověď nelze zaslat.

0