Ciao BrightSoul, grazie come sempre della risposta esaustiva.
Il problema iniziale era su due radiobutton in cui erano "scolpiti" value con virgola. Ho quindi sostituito i valori hardcoded con questo codice (un radiobutton cerca valori fino a 0,01 mentre l'altra fino a 0,05):
String.Format("0{0}01", System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
String.Format("0{0}05", System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
Ho pensato poi di estendere tale idea anche sulla sostituzione del decimale su una textbox in questo modo:
txtValore.Text = txtValore.Text.Replace(".", System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
txtValore.Text = txtValore.Text.Replace(",", System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator);
Quello che non capisco è la differenza nel separatore restituito dalla funzione System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator.
Ho fatto un test con un collega ed ho riscontrato che nel suo caso il separatore era "." mentre per me era ",". L'unica differenza è che lui accedeva dal nostro istituto, quindi tramite una macchina della nostra rete (la webapp risiede sul nostro server web), mentre io lavoravo dal mio pc a casa.
Le impostazioni internazionali tra i nostri due pc e dei nostri rispettivi browser sono identiche (italiano in entrambi i casi).
Non potendo intervenire sulle impostazioni a livello di server ho pensato di risolvere il problema imponendo la cultura a livello di web.config (l'applicazione per funzionare correttamente ha necessità del punto come separatore decimale) inserendo
<globalization culture="en-US" />
Non è una soluzione particolarmente elegante ma mi permetterebbe di avere sempre il separatore giusto.
Spero che queste informazioni rendano più chiaro il problema e ti ringrazio come sempre per i preziosi suggerimenti
Modificato da dadox77 il 04 dicembre 2011 21.15 -