• Početna
  • O nama
  • LimundoGrad
  • Limundo
  • Kupindo
  • Sigurnost
  • IT
  • Zabava i učenje
  • Plaćanje
  • API
LimundoGrad blog
  • Početna
  • O nama
  • LimundoGrad
  • Limundo
  • Kupindo
  • Sigurnost
  • IT
  • Zabava i učenje
  • Plaćanje
  • API
Home  /  IT  /  PHP Preporuke Petkom – Decimalni brojevi u MySQL bazi

PHP Preporuke Petkom – Decimalni brojevi u MySQL bazi

Autor:Miodrag Stefanović
26. октобра 2012. IT saveti Comments are off

Čuvanje decimalnih brojeva u MySQL bazi

Ovaj savet nije direktno vezan za PHP, ali je bitan ako baratate sa decimalnim brojevima – što je standardan slučaj kod čuvanja podataka o novčanim tokovima.
U tom slučaju su vam decimale jako bitne, prvenstveno zbog greške u zaokruživanju koja dolazi zbog načina čuvanja decimalnih brojeva. MySQL server generalno podržava dva formata čuvanja decimalnih brojeva:
DOUBLE (FLOAT) i DECIMAL.

Ukoliko ne želite da isprobate način bogaćenja koji je opisan u filmu Superman III, gde snalažljivi programer malom modifikacijom koda na svoj račun prebacuje delove dolara sa treće decimale koji su zbog zaokruživanja nestajali, i tako zbog velikog broja transakcija vrlo brzo prikupi stotine hiljada dolara, za tip kolone u kojoj čuvate podatke o iznosu novca izaberite DECIMAL.

DECIMAL čuva podatke o decimalama sa tačnom preciznošću, dok DOUBLE (i FLOAT) tipovi čuvaju podatke u Mantisa/Eksponent formatu koji je prezican do određene decimale (na primer FLOAT je precizan do otprilike sedme decimale).

Ukratko, to znači da će matematičke operacije nad DOUBLE i FLOAT vrednostima davati pogrešne rezultate. Greška će biti vrlo mala, ali kod operacija sa novcem nema dovoljno male greške.
Na primer sabiranje DOUBLE vrednosti 0.1 + 0.2 će dati rezultat koji će izgledati otprilike ovako: 0.30000000000000002; noćna mora za finansijski sektor. Sabiranje istih ovih vrednosti sačuvanih u DECIMAL formatu će dati tačno 0.3

Primer grešaka do kojih može doći zbog zaokruživanja možete videti i na Google-u:

Google ne može da pogreši – matematika nije u pravu

Detaljnije o ovoj problematici možete pročitati na:
http://www.heldit.com/2009/11/database/mysql-float-vs-decimal-money-datatype/

DOUBLE i FLOAT koristite za velike decimalne brojeve gde vam tačna prezicnost nije ključna, a DECIMAL za čuvanje novčanih iznosa (gde ne želite nikakve greške zaokruživanja)

Podeli tekst
Share on Facebook
Share on Twitter
Share on Whatsapp
 Prethodni post Iz naše kuhinje: Baze podataka
Sledeći post   Vrele jesenje teme: odeća, obuća, moda => #etabla

Povezani postovi

  • Dobro informisani = bolje zaštićeni! Kako do sigurne kupovine?

    15. марта 2024.
  • 5 predmeta koji će vam olakšati pripremanje trpeze

    6. јануара 2021.
  • Pomoć u odabiru prave knjige za poklon

    10. новембра 2020.
Advertisement

Popularno na Kupindu

U potrazi ste za udžbenicima za osnovnu ili srednju školu? Pogledajte na Kupindu:

➡️ Udžbenici za osnovnu školu
➡️ Udžbenici za srednju školu

Ovde ćete pronaći udžbenike za svaki razred i izdanja gotovo svih izdavača koje današnje škole traže. Uštedite na kupovini udžbenika.

  • Najpopularnije
  • Poslednji postovi
  • Za sledećih 15 Vladimir Nikolić 22. маја 2021. Limundo 607
  • Hoću da znam šta je neko kupio i prodao Vladan Jović 16. децембра 2013. LimundoGrad 355
  • Kako da ocenim prodavca (a da to bude ispravno)? Ana Mladenović 12. марта 2013. LimundoGrad 248
  • Veštačko nuđenje – istine i laži Vladan Jović 11. јуна 2013. Limundo 234
  • Cenovnik + opcije + brzina Aleksandra Vuković 15. марта 2012. Blog 211
  • Dani ploča na Kupindu: Vinil ne izlazi iz mode! Dunja Stojković 13. марта 2025. Kupindo
  • Top 10 predmeta sa Limunda i Kupinda u 2024. godini! Dunja Stojković 31. децембра 2024. LimundoGrad
  • Digital Awards 2024: Limundo osvojio nagradu za najbolju radijsku kampanju! Dunja Stojković 30. септембра 2024. LimundoGrad
  • Polovna odeća kao znak stila: 10 vrhunskih modnih brendova koje nećete naći u tržnom centru Ivana Lučić 26. августа 2024. LimundoGrad
  • Uživanje u letnjem danu – detalji koji čine baštu posebnom Dunja Stojković 1. августа 2024. Zabava i učenje

Skorašnji komentari

  • Jovana Milenković Arizanović на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • Marija Protic на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • Jovana Milenković Arizanović на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • janoš на Tri najjeftinija načina za slanje paketa u LimundoGradu
  • janoš на Tri najjeftinija načina za slanje paketa u LimundoGradu

Vremeplov

© 2008. LimundoGrad d.o.o. Creative Commons License Ovo delo je licencirano pod uslovima licence Creative Commons Autorstvo-Nekomercijalno-Bez prerada 4.0 Međunarodna licenca
LimundoGrad koristi kolačiće u statističke i marketinške svrhe. Nastavkom korišćenja sajta smatramo da ste pristali na upotrebu kolačića.OKViše informacija