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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top