Преобразовать числа

Gidz

Client
Регистрация
06.03.2011
Сообщения
46
Благодарностей
3
Баллы
8
Всем привет. Есть такие значения, пример:
1.4k
650
4k
3
2.21k

Как можно привести их к одному виду, что бы получилось:
1400
650
4000
3
2210
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
C#:
string str = project.Variables["text"].Value;
if (!str.Contains("k")) return str;
return double.Parse(str.Replace(".", ",").Replace("k", "")) * 1000;
 
  • Спасибо
Реакции: Gidz

Gidz

Client
Регистрация
06.03.2011
Сообщения
46
Благодарностей
3
Баллы
8
Спасибо! все отлично работает
 

partnerleon

Client
Регистрация
01.05.2012
Сообщения
18
Благодарностей
1
Баллы
3
C#:
string str = project.Variables["text"].Value;
if (!str.Contains("k")) return str;
return double.Parse(str.Replace(".", ",").Replace("k", "")) * 1000;
Господа, у меня этот код работает если брать одно значение и ложить его в переменную, а как эту процедуру сделать со списком? Подскажите пожалуйста.
Можно конечно использовать счётчик, но это лишние действия и как следствие проект разрастается и выполняется дольше.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Господа, у меня этот код работает если брать одно значение и ложить его в переменную, а как эту процедуру сделать со списком? Подскажите пожалуйста.
C#:
IZennoList list = project.Lists["List"];

lock (SyncObjects.InputSyncer) {
    List<string> tmpList = new List<string>();
    foreach (string str in list)
        if (!str.Contains("k"))
            tmpList.Add(str);
        else
            tmpList.Add(Convert.ToString(double.Parse(str.Replace(".", ",").Replace("k", "")) * 1000));
    list.Clear();
    list.AddRange(tmpList);
}
 
  • Спасибо
Реакции: partnerleon

partnerleon

Client
Регистрация
01.05.2012
Сообщения
18
Благодарностей
1
Баллы
3
C#:
IZennoList list = project.Lists["List"];

lock (SyncObjects.InputSyncer) {
    List<string> tmpList = new List<string>();
    foreach (string str in list)
        if (!str.Contains("k"))
            tmpList.Add(str);
        else
            tmpList.Add(Convert.ToString(double.Parse(str.Replace(".", ",").Replace("k", "")) * 1000));
    list.Clear();
    list.AddRange(tmpList);
}
Премного благодарен! Работает
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)