Как преобразовать 2е-8 в обычное число?

vmyrosh

Client
Регистрация
15.08.2015
Сообщения
24
Благодарностей
3
Баллы
3
После обработки переменной в кубике СВОЙ ЯВА КОД умножаю число 0.00000001 на 2 и кладу обратно в переменную. Результат получаю в виде 2е-8. каким образом можно преобразовать это число в обычный вид 0.00000002?
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
C#:
decimal res = Decimal.Parse(project.Variables["num"].Value, System.Globalization.NumberStyles.Any);
return res.ToString();
 

vmyrosh

Client
Регистрация
15.08.2015
Сообщения
24
Благодарностей
3
Баллы
3
Спасибо, большое прибольшое спасибо
 

vmyrosh

Client
Регистрация
15.08.2015
Сообщения
24
Благодарностей
3
Баллы
3

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 438
Благодарностей
9 135
Баллы
113
  • Спасибо
Реакции: vmyrosh

vmyrosh

Client
Регистрация
15.08.2015
Сообщения
24
Благодарностей
3
Баллы
3
Можно в return прописать замену запятой на точку:
return res.ToString().Replace(",", ".");
Спасибо с этим разобрался. Только вот теперь число вида 1.2e-7 этим кодом не преобразуется В логе
Выполнение действия CSharp OwnCode. Входная строка имела неверный формат.
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113
Спасибо с этим разобрался. Только вот теперь число вида 1.2e-7 этим кодом не преобразуется В логе
Выполнение действия CSharp OwnCode. Входная строка имела неверный формат.
Потому что у Вас в системе установлена запятая в качестве разделителя, а не точка.
C#:
string dec_sep = Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator;
string num = project.Variables["num"].Value.Replace(",", dec_sep).Replace(".", dec_sep); // Меняем на системный разделитель
decimal res = Decimal.Parse(num, System.Globalization.NumberStyles.Any);
return res.ToString().Replace(",", ".");
Данный код автоматически заменит разделитель на тот, что установлен в системе.
Теперь можете использовать хоть точку, хоть запятую :-)

 
Последнее редактирование:

vmyrosh

Client
Регистрация
15.08.2015
Сообщения
24
Благодарностей
3
Баллы
3
Потому что у Вас в системе установлена запятая в качестве разделителя, а не точка.
C#:
string dec_sep = Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator;
string num = project.Variables["num"].Value.Replace(",", dec_sep).Replace(".", dec_sep); // Меняем на системный разделитель
decimal res = Decimal.Parse(num, System.Globalization.NumberStyles.Any);
return res.ToString().Replace(",", ".");
Данный код автоматически заменит разделитель на тот, что установлен в системе.
Теперь можете использовать хоть точку, хоть запятую :-)

Еще раз ОГРОМНОЕ СПАСИБО. Долго бы искал решение по незнанию синтаксиса. Правда и уже в готовом коде пропустил NUM , место где вставить свою переменную так снипетты шаблона перестали срабатывать. ВСЕЕЕЕЕ. Разобрался, нашел еще где поменять на свою переменную
 

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