Главная | Продукты | Вебинары | Видео | Цены и тарифы | Для бирж и брокеров | Поддержка
Меню

Преобразование стандартных типов данных

 
Поскольку, RobotLab умеет выполнять математические операции только с переменными одного типа, то в ходе математических операций с использованием разных типов он выбирает самый точный тип данных, из всех использующихся  (в этой математической операции). Но в ряде сложных случаев не всегда однозначно удается определить результат какого типа ожидается на выходе. Поэтому для корректного проведения математических операций с различными типами данных желательно использовать функцию Convert.
 
Пример: 
StartStop - (StartStop - StopLimit) /StopPeriod*Convert.ToDecimal(LifeTime)
 
В этом примере StartStop, StopLimit  имеют тип Decimal, StopPeriod – Int32, а LifeTime – Double. Если убрать из выражения Convert.ToDecimal, то конструктор роботов сообщит о том, что он не может определить какого типа результат вы хотите получить: Decimal или Double. Выражение Convert.ToDecimal(LifeTime) – говорит конструктору о том, что переменную LifeTime в текущем выражении надо считать переменной типа Decimal, а не Double, каковой она является на самом деле. Для преобразования переменных к типам Int32, Double, Decimal используются следующие методы функции Convert: .ToInt32, .ToDouble, .ToDecimal (соответственно).
 
Так же часто приходится использовать преобразование типов при выводе в Лог Робота численных значений.  Для этого используется функция str() или метод .ToString(). Для использование функции str() в качестве ее аргумента необходимо использовать ту переменную, которую вы хотите вывести в лог.
 
Пример:
“Текущая цена = “ & str(CurrentPrice), где CurrentPrice – числовая переменная содержащая значение цены.
 
Но если Вы хотите использовать форматированный вывод, например, указать число десятичных знаков, то лучше использовать метод .ToString().
 
Пример:
“Текущая цена = ” & CurrentPrice.ToString(“N2”)
 
В этом примере CurrentPrice – числовая переменная, в которой содержится текущее значение цены, а аргумент метода .ToString“N2” означает, что необходимо вывести значение переменной в формате, который установлен в настройках операционной системы (разделители разрядов, дробной части, формат отображения даты и времени), и при этом округлить значение с точностью до второго знака после запятой.
Подробнее о шаблонах вывода можно узнать на сайте:
Английский вариант - http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx