radim jedan desktop app, koji radi konekciju na VPS MySQL bazu. Sve to radi OK, ali na jednom mjestu imam tablicu sa poljem DECIMAL. Problem nastane jer je moj lokalni PC s postavkama HRV, a MySQL je na engleskom en_US .
Dali je OK ići u smjeru da stavim hr_HR za tu bazu? Dali je moguće uštimati samo za jednu bazu (koju koristim), da ne diram baze koje se vrte na serveru za web stranice? Može li pomoć?
konkretno, decimalni unos u aplikaciji izgleda ovako 1.000,00 a u bazu trebam imati unos 1000.00 . Kako to uštimati?
To sam uradio. Nije mi jasno, unos za datum mi radi ok, iako baza ima format yyyy-mm-dd, ja iz aplikacije upisujem dd.MM.YYYY.
Koja je najbolja zamjena decimal formata ako trebam valuta vrijednost? Pričam o unosu recimo 10.000,00 € , koji ću svakim sljedećim unosom u bazu umanjiti za neku kvotu koja se potroši. FLOAT ili nešto treće? Čisto da vidim ponašanje kod drugog formata polja u bazi
Vidio sam da ima. Nisam detaljno potražio, ali mi se čini da je pogodan za ispisivanje iz baze. Ne znam koliko mi je zgodno ga koristiti u samom kodu, da radi svaki put kada se izvodi query prema bazi.
Ma, pozabavi se ja s ovim , pa javim kako je prošlo.
Samo da se vratim još jednom, koji format za polje najbolje može zamijeniti DECIMAL ?
Taman opet pitam, a već si odgovorio. I meni nešto zvoni da je integer još od davnina služio za matematičke operacije. Ovaj decimal, nisam ni znao za njega do prije 2 dana
Zavisi za šta se koristi. Cijene porezi i ostale fin. stvari uvijek spemamo u decimal i to sa 14 decimala, jer radi zaokruživanja uvijek zna biti problema sa onom razlikom od 0.01 lipe, centa, pare ili čega već
Svakako je tako prikazano, ali čisto sumnjam da i oni u bazi i tablici imaju decimal sa 2 decimale. Za korisnika je uvijek prikaz na dvije decimale, ali interno najčešće nije, to sam još naučio dok sam radio kod @trnac, koliko se sjećam i njegove aplikacije spremaju cijene i ostale stvari sa par decimala više od dvije.
Stojim iza toga da se trebaju testirati svi edge cases kad se radi (ne samo) o parama.
Isto tako output klijentu ili serveru u S2S API slučaju ne mora a i najbolje jeste da nema veze sa onim što se dešava na serveru.
Nisam programer, kako se može i zaključiti. Koristim većinom ugrađene funkcije Visual studio 2019. , i nešto koda (sql konekcija, insert, select …) . Imam jednu jednostavnu aplikaciju u kombinaciji sa MySQL koja dobro radi (20 klijent računara) . Sada hoću da izradim još jednu, ali ova će imati par instrukcija pored klasičnog upisivanja i čitanja.
Prije kodiranja prvo moraš skapirati na šta će struktura tabele ličiti.
Ako je to decimal, kupiš takav tj. formatiraš u decimal koji baza očekuje i šalješ.
Ovo si sve završio.
Mislim da bi’ ja u tvom slučaju napravio trigger u tabeli sa ovom gore format funkcijom.
Možeš li testirati da l’ bi radilo kako si zamislio (osim lokalizacije) sa default decimal separatorima?
For those who did not understand, let me explain with an Example. Create 2 Columns with Types Double and Decimal and Store value 1.95 in both of them. If you print each column as Integer then you will see than Double Column has printed 1 , while Decimal column printed 2 .
Nije mi jasno, par rečenica prije kaže da decimal ne radi precision nego exact match , a u primjeru kasnije se vidi da se 1.95 ispisuje kao 2. ??
Edit: sada vidim, integer je taj koji vraća “pogrešnu” vrijednost. Kužim.
Kada pokušam sa kodiranjem, vidim da se kod izvrši, ali opet dobijem rezultat kako je system locale postavljen.
Dim number As Decimal
If Decimal.TryParse(textbox4.Text, number) Then
textbox4.Text = Format(number, "##,#0.00")
Else
messagebox.show("Provjerite unos količine")
End If
I kroz opcije VS2019 ista stvar
Morat ću pokušati DB locale promijeniti. Javim, sutra/prekosutra