IFormatProvider с целочисленным значением - PullRequest
2 голосов
/ 09 февраля 2011

У меня есть целочисленное значение в моем объекте.Мне нужно привести его как целочисленное значение.Так что я сделал это так.System.Convert.ToInt64 (Object) Но FxCop сказал, что мне нужно предоставить IFormatProvider.Тип данных String У меня нет проблем с предоставлением IFormatProvider.Как я могу предоставить IFormatProvider для целочисленного значения?

Ответы [ 4 ]

2 голосов
/ 09 февраля 2011

Это зависит от того, как вам нужно напечатать ваше значение.

Например, используя:

var provider = System.Globalization.CultureInfo.InvariantCulture;

вы получите строку, которая не зависит от ваших локальных (региональных) настроек.

Используя:

var provider = System.Globalization.CultureInfo.CurrentCulture;

или:

var provider = System.Globalization.CultureInfo.CurrentUICulture;

, строка будет напечатана с использованием локальных (региональных) настроек аппарата.

2 голосов
/ 09 февраля 2011

Если вы хотите использовать текущую культуру

System.Globalization.CultureInfo.CurrentCulture.NumberFormat

или напр .:

new CultureInfo("en-UK").NumberFormat
1 голос
/ 09 февраля 2011

Есть ли проблема с простым приведением переменной объекта?

Int64 i = (Int64) myObject;

Если это действительно целое число в штучной упаковке, я не понимаю, почему это не сработает.

1 голос
/ 09 февраля 2011
...