• 4 odgovora
  • 2.850 pregleda
Globalization.CultureInfo izmena samo DecimalPoint vrednosti, VB.NET 23.02.2011. u 18:33 · pre 190 meseci #1
Moze li mala pomoc?

Naime, hocu da standardizujem unos brojeva u aplikaciji. Hocu da "decimalni zarez" bude tacka a da se nista vise ne menja iz regional settings-a...

Kako to da izvedem?

Ja znam kako da promenim kompletnu "Kulturu" tj CultureInfo ali kako da promenim samo neke stvari iz nje?
Re: Globalization.CultureInfo izmena samo DecimalPoint vrednosti, VB.NET 23.02.2011. u 21:56 · pre 190 meseci #3
Druze, da li si ti ovo probao pre nego sto si napisao?

Ne mogu sada da probam ali koliko se secam kada sam probao nisam mogao tako to da izvedem jer je to ReadOnly property...
Re: Globalization.CultureInfo izmena samo DecimalPoint vrednosti, VB.NET 23.02.2011. u 22:38 · pre 190 meseci #4
Radi, 100%.

Prilikom startovanja svake aplikacije, evo sta ja uradim:
Code:

            System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("en-US");
            System.Globalization.DateTimeFormatInfo dtfi = ci.DateTimeFormat;
            dtfi.MonthNames = new string[13] { "Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar", "" };
            dtfi.MonthGenitiveNames = new string[13] { "Januara", "Februara", "Marta", "Aprila", "Maja", "Juna", "Jula", "Avgusta", "Septembra", "oktobra", "Novembra", "Decembra", "" };
            dtfi.AbbreviatedMonthNames = new string[13] { "Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec", "" };
            dtfi.AbbreviatedMonthGenitiveNames = dtfi.AbbreviatedMonthNames;
            dtfi.DayNames = new string[7] { "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota", "Nedjelja" };
            dtfi.AbbreviatedDayNames = new string[7] { "Pon", "Uto", "Sri", "Čet", "Pet", "Sub", "Ned" };
            dtfi.LongDatePattern = "dddd, dd. MMMM yyyy";
            dtfi.ShortDatePattern = "dd.MM.yyyy";
            dtfi.DateSeparator = ".";
            ci.NumberFormat.CurrencySymbol = "€";
            System.Threading.Thread.CurrentThread.CurrentCulture = ci;    
Re: Globalization.CultureInfo izmena samo DecimalPoint vrednosti, VB.NET 24.02.2011. u 00:18 · pre 190 meseci #5
A vidi, jest upravu si!
Ako izostavim prvi red (= New System.Globalization.CultureInfo()) onda mi izbacuje gresku da je ReadOnly, pa sam to onda resio na ovaj nacin:

Code (vbnet):

Public old_CultureInfo As Globalization.CultureInfo = System.Globalization.CultureInfo.CurrentCulture
Public DecimalSeparator As String
_________________________________________________________________________________________________
Public Sub Init()
        Dim CurInfo As String = System.Threading.Thread.CurrentThread.CurrentCulture.Name
        System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo(CurInfo)
        System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = "."
        System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberGroupSeparator = String.Empty
        DecimalSeparator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator
End Sub
_________________________________________________________________________________________________

'glavi deo aplikacije

_________________________________________________________________________________________________
Public Sub End()
    System.Threading.Thread.CurrentThread.CurrentCulture = old_CultureInfo
End Sub
 
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme