2013-04-15 2 views
0

В настоящее время я извлечение данных из сайта SharePoint, и я в состоянии сделать это, однако, я хочу ограничить десятичное место 0.Как уменьшить десятичное число до 0?

if (item["ows_Amount_x0020__x0028_LC_x0029_"] != null) 
{ 
    str.AppendLine("<td bgcolor='#FFFFFF';align='right';> " + item["ows_Amount_x0020__x0028_LC_x0029_"].ToString() + "</td>"); 
} 
+0

Что со странным именованием? Если для Unicode U + 0020 является пространством ASCII, для которого вы можете использовать только CamelCasing. –

+0

@ColeJohnson Я думаю, что SharePoint сгенерировала эти имена столбцов, а не пользователя – codingbiz

+0

Ну, его знание HTML отсутствует. –

ответ

3

Используйте стандартный формат строку номера в ToString() метод Decimal (или Double, или независимо от фактического типа данных является вашим пункт):

Convert.ToDecimal(item["ows_Amount_x0020__x0028_LC_x0029_"]).ToString("N0"); 

"N0" здесь означает «Номер» в 0 знаков после запятой. Если вы не хотите, чтобы запятые добавили, вместо этого используйте "F0".

Номер ссылки Формат: MSDN

+0

Работал как драгоценный камень! – Alphard

0

Попробуйте

Convert.ToDecimal(item["ows_Amount_x0020__x0028_LC_x0029_"]).ToString("N1") //1 decimal place 

ИЛИ

Convert.ToDecimal(item["ows_Amount_x0020__x0028_LC_x0029_"]).ToString("N0") //No decimal 

ИЛИ

String.Format("{0:N1}", item["ows_Amount_x0020__x0028_LC_x0029_"]); 
+0

'N0'? Вы имеете в виду '' N0'', правильно? –

0

Ну, это зависит от типа: пункт [» ows_Amount_x0020 __x0028_LC_x0029_ "]

Предполагая, что это всегда сумма, которая случается быть строкой, такие как: 56.78

Затем вы можете использовать:

if (item["ows_Amount_x0020__x0028_LC_x0029_"] != null) 
{ 
    decimal temp = 0; 
    if (decimal.TryParse(item["ows_Amount_x0020__x0028_LC_x0029_"], out temp)) 
     str.AppendLine(" " + (long) temp + ""); 
    else 
     str.AppendLine(" " + item["ows_Amount_x0020__x0028_LC_x0029_"].ToString() + ""); 
} 
Смежные вопросы