Effettivamente è problematica la situazione, i diversi linguaggi di programmazione ammettono come virgola o la virgola, effettivamente, o il punto.
Il problema si pone quando devi inserire o lavorare una cifra, come fare se l'utente mette un . invece di una virgola o viceversa?
Nel nostro caso il C# come separatore per i decimali usa il punto.
Ad esempio, se nel codice devi mettere 6,5 dentro una variabile float devi scrivere:
float f = 6.5F; (la F alla fine è obbligatoria, altrimenti ti da errore).
Però, da quel che ho visto, il C#, quando prende un numero decimale da una stringa, a quel punto pretente una virgola.
Es. float f = float.Parse("6,5");
Ti mostro alcune prove che ho fatto:
float f = float.Parse("6.000,5"); -> 6000,5
float f = float.Parse("6.00.0,5"); -> 6000,5
float f = float.Parse("6000.5"); -> 60005
float f = float.Parse("6.000,5.5"); -> Errore
Come vedi, i punti (tranne se li metti dopo la virgola) non li considera proprio e prende per buona la virgola.