Я написал фрагмент кода, где я разделяю два десятичных знака, как показано ниже. когда значение z в коде равно 2.33, то оно отлично работает, но когда значение z в коде равно 2.0, в этой строке «long secondValue = Convert.ToInt64 (значения [1]); это сбой, как «Индекс находился вне границ массива»Как решить «Индекс был за пределами массива»?
result_lstCatalogcount.CountofItems = Convert.ToInt32(item1.itemcount);
double x = Convert.ToDouble(item1.itemcount);
double y = qs.Ipp;
double z = x/y;
int a = Convert.ToInt32(z);
//double value = 2635.215;
var values = z.ToString(CultureInfo.InvariantCulture).Split('.');
int firstValue = Convert.ToInt32(values[0]);
long secondValue = Convert.ToInt64(values[1]);
if(secondValue > 1)
{
result_lstCatalogcount.Pagination = firstValue + 1;
}
else
{
result_lstCatalogcount.Pagination = firstValue;
}
Какая у вас отладка? –
отладить и посмотреть, что внутри 'values'. Уверен, что это не то, что вы ожидаете ... – HimBromBeere