Как удалить рупий. из колонки с плавающей точкой стоимостью в C# - PullRequest
0 голосов
/ 11 февраля 2020

Я загружаю массовые данные, используя Excel, в котором есть столбец затрат (cost) со значениями вроде рупий. 1260. Тип данных стоимости в базе данных float. Я хочу вставить значения в базу данных без рупий. Ниже мой код репозитория для вставки значений:

public int SetCostDataByDateTime(List<Optimizer> optList)
  {
     try
       {
         int result = 0; 
            foreach (var item in optList)
            {
                string[] timeRes = item.insDt.Split(' ');
                DataTable data = GetData(OptimizerQueries.SELECT_COST_BYDATE_TIME, new List<KeyValuePair<string, object>>
                {
                   new KeyValuePair<string, object>("endDateTime", timeRes[0]),
                 new KeyValuePair<string, object>("insTime", timeRes[1]),
                });

                // If already data exist in Table then update else insert.

                var dataRow = data.AsEnumerable().Select(x => x.Field<string>("insDateTime")).ToList();
                if (dataRow.Contains(item.insDt))
                {
                    result += UpsertData(OptimizerQueries.UPDATE_COST_DATE, new List<KeyValuePair<string, object>> {
                 new KeyValuePair<string, object>("insDt", item.insDt),
                 new KeyValuePair<string, object>("cost", item.cost),

                });
                }
                else
                {
                    result += UpsertData(OptimizerQueries.INSERT_ACTUAL_DATA_BYDATE, new List<KeyValuePair<string, object>> {
                 new KeyValuePair<string, object>("insDt", timeRes[0]),
                 new KeyValuePair<string, object>("insTime", timeRes[1]),
                 new KeyValuePair<string, object>("cost", item.cost[1]),

            });
                }



            }
            return result;
        }
        catch (Exception ex)
        {
            Error.Log(ex);
            throw ex;
        }
    }

1 Ответ

0 голосов
/ 11 февраля 2020

Ваш item.cost содержит значение типа Rs. 1234, затем вы можете разделить ваш item.cost, используя ., затем преобразовать последний элемент массива и преобразовать его в число с плавающей точкой.

var cost = float.Parse(item.cost.split('.').Last());  //cost = 1234
...