Ciao.
Quale metodo usi per leggere il valore del separatore?
Se utilizzi
Thread.CurrentThread.CurrentUICulture.NumberFormat.CurrencyDecimalSeparator
è normale che ti da sempre la virgola perchè va a legere il separatore utilizzato per le valute.
Se invece vai ad utilizzare
Thread.CurrentThread.CurrentUICulture.NumberFormat.NumberDecimalSeparator
ti va a leggere il valore corretto.
PS: la lettura del separatore tiene conto del valore applicato prima dell'avvio del tuo programma. Se durante l'esecuzione vai a cambiare il valore nel Pannello di Controllo, il tuo programma non si "accorge" del cambiamento. Devi riavviare il programma per far leggere il nuovo valore.
Ciao ciao
Cristian Barca