2009-10-27 11 views
9

Windows consente la configurazione di Measurement system a Metric o U.S. C'è un modo per utilizzare questa impostazione per leggere (abbreviato) nomi delle unità in C#?Accesso nomi delle unità "Sistema di misura" (kg/lb, m/a, ecc) in C#

ad es. quando si visualizza un peso in Metric Voglio mostrare kg ma in U.S. Voglio mostrare lb. Analogamente per lunghezza, volume, ecc.

Ho visto SystemInformation, CultureInfo, Configuration e Globalization, ma non ho visto nulla di ovvio. Mi sono perso qualcosa o sto guardando nel posto sbagliato?

risposta

6

Credo che il meglio che puoi fare è determinare se la tua cultura è metrica o meno e poi gestirla tu stesso. Non penso che ci sia una formattazione integrata? Tuttavia, potrei sbagliarmi, ma non trovo alcun riferimento ad esso.

Questo vi permetterà di determinare se la vostra cultura è metrico o no:

CultureInfo culture = new CultureInfo("en-GB"); 
    RegionInfo regionInfo = new RegionInfo(culture.LCID); 
    bool isMetric = regionInfo.IsMetric; 
+0

@GenericTypeTea, grazie sembra che questa sia la strada da percorrere. Sembra strano che la configurazione della metrica/noi non dia modo di accedere alle unità, mi chiedo a cosa serve ... qualcosa da investigare quando sono annoiato :) – WileCau

+0

Se trovi una risposta migliore, assicurati di lasciarci conoscere. – GenericTypeTea

0

@GenericTypeTea è di destra circa il RegionInfo essere il posto dove guardare.

Inoltre F # contiene molte funzionalità per lavorare con le unità di misura. Potrebbe essere sensato costruire alcune delle cose che ti servono in F # e chiamarle da C#.

Vedere this blog post e i post successivi per informazioni su F # e unità di misura.

+0

@Mike Two, grazie ho letto il post sul blog e ci sono anche alcuni post su SO. Le unità contenute in F # sembrano interessanti ma sembra che tu debba ancora conoscere le unità che stai usando (ad esempio, devi sapere che stai usando kg vs lb) che è ciò che volevo ottenere dalla configurazione del sistema. Tuttavia, non ho familiarità con F #, quindi potrei aver frainteso quello che stavo leggendo. – WileCau

Problemi correlati