[ jovanml @ 19.10.2006. 07:44 ] @
Ovako izgleda prikaz iznosa u dinararima po defaultu za C# ( Americki format prikaza )

private void Formatdinari ()
{
decimal dinari = 0;

try
{
dinari = System.Convert.ToDecimal(pocetnidug.Text);
pocetnidug.Text = dinari.ToString("###,###,##0.00");
}
catch (Exception)
{
pocetnidug.Text = Convert.ToString("0");
pocetnidug.Text = Strings.Format(0, "###,###,##0.00");
}

Sta treba uraditi da bi se iznos ispravno prikazivao u sledecem obliku ( Evropski format prikaza )

private void Formatdinari ()
{
decimal dinari = 0;

try
{
dinari = System.Convert.ToDecimal(pocetnidug.Text);
pocetnidug.Text = dinari.ToString("###.###.##0,00");
}
catch (Exception)
{
pocetnidug.Text = Convert.ToString("0");
pocetnidug.Text = Strings.Format(0, "###.###.##0,00");
}
[ k4hvd @ 19.10.2006. 09:50 ] @
Najjednostavnije:

...= dinari.ToString("N",new CultureInfo("sr-SP-Latin"));
...= dinari.ToString("N",new CultureInfo("en-US"));

....
....
decimal= Decimal.Parse(pocetnidug.Text,NumberStyles.Number,new CultureInfo("sr-SP").NumberFormat);

Mozes koristiti klasu CultureInfo i iz nje izvuci IFormatProvider npr:

CultureInfo culSRB=new CultureInfo("sr-SP-Latn");
CultureInfo culEN =new CultureInfo("en-US");
Decimal d = new decimal(12.365);
Console.WriteLine("Srpski :" + Convert.ToString(d, culSRB.NumberFormat));
Console.WriteLine("Engleski :" + Convert.ToString(d, culEN.NumberFormat));

a mozes sam prilagoditi svoj NumberFormatInfo
NumberFormatInfo formater = new NumberFormatInfo();
formater. ... =.......;
formater. ... =.......;
formater. ... =.......;
formater. ... =.......;
String text = Convert.ToString(dinari,formater);

[ jovanml @ 19.10.2006. 10:10 ] @
Najjednostavnije:

...= dinari.ToString("N",new CultureInfo("sr-SP-Latin"));
...= dinari.ToString("N",new CultureInfo("en-US"));



Uvek treba koristiti najjednostavnije resenje koje radi, uz sledecu ispravku:

...= dinari.ToString("N",new CultureInfo("sr-SP-Latn"));

jer "sr-SP-Latin" nije podrzan CultureInfo

Hvala Vam na pomoci.