1.2e-7 Математическая фигня )

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
При математических действиях с числовой переменной в которой есть 7 чисел после запятой получается такая абракадабра 1.2e-7, при больших числах все считает нормально, как это решить ?Я понимаю что это такое математическое выражение на сколько я помню из физики 1.2*10(в -7 степени) но мне эти данные надо еще вбивать)
 
Последнее редактирование:

ares.bct

Client
Регистрация
21.06.2016
Сообщения
20
Благодарностей
21
Баллы
3
Через c# считаете? Пример бы увидеть
 

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18

ares.bct

Client
Регистрация
21.06.2016
Сообщения
20
Благодарностей
21
Баллы
3
Решение через C#
C#:
project.Variables["StavkaA1"].Value = (Convert.ToDouble(project.Variables["StavkaA1"].Value) * Convert.ToDouble(project.Variables["mnozh"].Value)).ToString("F8");
F(число цифр после точки)
 

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18

ares.bct

Client
Регистрация
21.06.2016
Сообщения
20
Благодарностей
21
Баллы
3
В логе какая ошибка?
 

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
Тип Время Сообщение
15:10:28 Выполнение действия CSharp OwnCode Input string was not in a correct format.
 

ares.bct

Client
Регистрация
21.06.2016
Сообщения
20
Благодарностей
21
Баллы
3
Еще раз проверил, код отрабатывает корректно. Проверяйте входные настройки
 

Вложения

  • 84,8 КБ Просмотры: 349

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
:( фигня какая то нездоровая все вроде норм и не пашет :( даже запятые в числах пробовал ставить в место точек, выдает тупо "ок" а вот с точками ошибка :(
 

ares.bct

Client
Регистрация
21.06.2016
Сообщения
20
Благодарностей
21
Баллы
3
Чтобы не выдавало "ок", нужно установить галочку как на моем скрине: "Не возвращать значение"
 

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
:( фигня какая то нездоровая все вроде норм и не пашет :( даже запятые в числах пробовал ставить в место точек, выдает тупо "ок" а вот с точками ошибка :(
А еще прикол в том что я поставил StavkaA1 1 и множитель 3 и в итоге оно начало множить но результат выводить в виде числа с запятой 1*3=3,0000000
3*3=9,0000000
короче входные цифры с точкой не работают, надо с запятой и тогда все норм, придется теперь искать как точки в запятые переводить перед C кодом и потом запятые в точки после C кода
 

ares.bct

Client
Регистрация
21.06.2016
Сообщения
20
Благодарностей
21
Баллы
3
Чтобы вместо запятой отображалась точка, нужно в настройках Windows изменить "Разделитель целой и дробной части" с запятой на точку.
Или воспользоваться модифицированной строкой

C#:
project.Variables["StavkaA1"].Value = (Convert.ToDouble(project.Variables["StavkaA1"].Value) * Convert.ToDouble(project.Variables["mnozh"].Value)).ToString("F8").Replace(",",".");
Я пользуюсь первым вариантом.
 
  • Спасибо
Реакции: kokoko

kokoko

Client
Регистрация
23.06.2016
Сообщения
249
Благодарностей
19
Баллы
18
Чтобы вместо запятой отображалась точка, нужно в настройках Windows изменить "Разделитель целой и дробной части" с запятой на точку.
Или воспользоваться модифицированной строкой

C#:
project.Variables["StavkaA1"].Value = (Convert.ToDouble(project.Variables["StavkaA1"].Value) * Convert.ToDouble(project.Variables["mnozh"].Value)).ToString("F8").Replace(",",".");
Я пользуюсь первым вариантом.
Спасибо большое я так и сделал ) по первому варианту ))) Уфф
 

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