none
ROUND v T-SQL a zaokrouhlování

    Dotaz

  • Zdravim,

    chtel jsem se zeptat ohledne problemu se zaokrouhlovanim hodnot v T-SQL na SQL 2005.
    ASP.NET aplikace vklada pomoci ulozene procedury do databaze cisla datoveho typu real, treba 22,15
    Kdyz si zobrazim obsah tabulky v SQL management studiu tak v ni vidim tech 22,15, ale kdyz si taham data z databaze pomoci SQLXML tak dostanu vystup 22,1499999999999999 a kdyz se tohle cislo pokusim zaokrouhlit pomoci fce. ROUND na 2 platna desetinna mista, tak dostanu 22,1500000000000001.
    Uz jsem prochazel ruzna fora, ale zatim to vypada ze se nikdo s timto problemem jeste nesetkal.
    Budu vdecny za jakykoliv napad ci reseni.

    Diky
    31. července 2008 8:47

Odpovědi

  • Řešení je zvolit datový typ s přesnou hodnotou - decimal(9,2).

    Real/float obsahují "přibližnou"  hodnotu a proto se při operacích zobrazují "přibližné hodnoty".

     

    31. července 2008 13:37

Všechny reakce