2011-02-09 2 views
2

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

+0

Я не думаю, что здесь нужен «IFormatProvider», вы можете преобразовать его напрямую. –

ответ

2

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

например. используя:

var provider = System.Globalization.CultureInfo.InvariantCulture; 

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

Использование:

var provider = System.Globalization.CultureInfo.CurrentCulture; 

или:

var provider = System.Globalization.CultureInfo.CurrentUICulture; 

вместо этого, строка будет распечатана с помощью вашей локальной (региональной) настройки машины.

2

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

System.Globalization.CultureInfo.CurrentCulture.NumberFormat 

или бывший:

new CultureInfo("en-UK").NumberFormat 
+0

Генерирует ошибку: 'new CultureInfo (« en-UK »). NumberFormat \t 'new CultureInfo (« en-UK »)» выбрасывает исключение типа «System.ArgumentException» \t System.Globalization.NumberFormatInfo' .... It должен выглядеть следующим образом: 'new CultureInfo (« en-GB »). NumberFormat' или' new CultureInfo («en-US»). NumberFormat' – uzay95

+0

uk .. gb .. так много имен – AgentFire

0

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

Int64 i = (Int64) myObject; 

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

Смежные вопросы