La localizzazione con separatore decimale
-
21-08-2019 - |
Domanda
E 'possibile che .NET utilizza sul server A '' come separatore decimale e su un altro server B ''? + Come si può rilevare questo?
Durante la conversione di stringhe in doppie, sul server A tutto funziona bene, ma sul server B abbiamo problemi.
Esempio:
server A: 20,4 -> 20.4 server B: 20,4 -> 204
Avremmo bisogno di rilevare questo in modo che su entrambi i server le cose continuano a lavorare.
thx, Lieven Cardoen
Soluzione
Sembra che il locale è stato impostato correttamente su un server, ma non l'altro.
Ci sono alcuni modi si potrebbe fare questo, ma si potrebbe desiderare di impostare l'impostazione internazionale per il thread corrente nella vostra pagina / ASP.NET app utilizzando Thread.CurrentThread.CurrentCulture e Thread.CurrentThread.CurrentUICulture.
Per impostare questo per l'intera applicazione, si farebbe questo nel vostro web.config:
<configuration>
<system.web>
<globalization culture="en-US" uiCulture="en-US" />
...
Altri suggerimenti
Io uso
String.Format(System.Globalization.CultureInfo.InvariantCulture, ....)
nei casi in cui non si desidera avere potenza specifica cultura. (Per esempio, quando si scrivono serializzare i dati per altre applicazioni, ecc) In questo modo non importa ciò che la cultura è attualmente impostato, l'uscita sarà sempre lo stesso.