Руководство пользователя
Работа со строками
NetTradeX PC
NetTradeX Android
NetTradeX iOS
NetTradeX Mobile
NetTradeX Advisors
-
Руководство по NTTX Advisors
- Терминал NetTradeX Advisors
-
Статьи
-
NetTradeX Language: Введение
- Основы языка
- Функции языка
-
Cистемные объекты языка
- Сделки
- Ордера
- Индикаторы
- Объектно-ориентированное программирование
-
DLL файлы
-
Объект Account
-
Объект Bars
-
Объект Chart
-
Объект datetime
-
Объект History
-
Объект file
-
Объект Globals
-
Объект Math
-
Объект Symbols
-
Объект System
Работа со строками
Операторы для работы со строками
Операция | Описание |
---|---|
= | Присваивание строки |
+ | Конкатенация строк |
== | Проверка строк на равенство |
!= | Проверка строк на неравенство |
<, >, <=, >= | Операции сравнения строк |
[] | Доступ к элементам строки по индексу |
Пример. Выведем все символы строки.
int Initialize() { return(0); } int Run() { string a = "NetTradeX"; for (uint i=0;i<a.length;i++) { System.Print(""+int8(a[i])); } return(0); } int DeInitialize() { return(0); }
Методы работы со строками
Метод | Описание |
---|---|
uint length() const | Получение длины строки |
void resize(uint) | Изменение длины строки |
bool isEmpty() const | Проверка того, что строка пустая |
string substr(uint start = 0, int count = -1) const; |
Выделение подстроки, начиная с позиции start и длиной count символов.
|
int findFirst(const string &in str, uint start = 0) const; |
Поиск первого вхождения подстроки str , начиная с позиции start .
|
int findLast(const string &in str, int start = -1) const; |
Поиск последнего вхождения подстроки str не далее, чем start символов от начала.
|
array |
Разбиение строки на подстроки, которые записываются в массив. |
Пример работы с методами строки:
int Initialize() { return(0); } int Run() { string a = "Hello, NetTradex Advisor!"; System.Print("Substring = "+a.substr(3,10)); // Выведется Substring = lo, NetTra System.Print("Find substring \"tT\" pos = "+a.findFirst("tT",1)); // Выведется Find substring "tT" pos = 9 System.Print("Find last = "+a.findLast("o",6)); // Выведется Find last = 4 array<string>words = a.split(" "); for(uint i=0;i<words.length();i++) { System.Print(words[i]); } System.Print("Joined="+join(words," ")); return 0; } int DeInitialize() { return(0); }
Функции для работы со строками
Название функции | Описание |
---|---|
string join(const array |
Соединение элементов массива arr с добавлением между элементами символов, указанных в delimiter .
|
int64 parseInt(const string &in, uint base = 10, uint &out byteCount = 0) | Преобразование строки к типу int64 |
double parseFloat(const string &in, uint &out byteCount = 0) | Преобразование строки к типу double |
string formatInt(int64 val, const string &in options, uint width = 0) | Преобразование числа int64 в строку с использованием указанного формата*. |
string formatFloat(double val, const string &in options, uint width = 0, uint precision = 0) | Преобразование числа double в строку с использованием указанного формата*. |
* Флаги для указания формата строки
- l - выравнивание по левому краю
- 0 - дополнить слева нулями
- + - добавить + для положительных чисел
- пробел - добавить слева пробел для положительных чисел
- h - использовать строчные буквы при выводе в шестнадцатеричном формате
- H - использовать прописные буквы при выводе в шестнадцатеричном формате
- e - использовать строчный символ "e" для экспоненты
- E - использовать прописной символ "E" для экспоненты
Пример 1. Демонстрация использования функций formatInt и formatFloat:
int Initialize() { return(0); } int Run() { System.Print(""+formatInt(1245,"0+", 10)); // выведется +000001245 System.Print(""+formatInt(0xAbCd,"lH", 10)); // выведется ABCD System.Print(""+formatFloat(1234567,"E",10,4)); // 1.2346E+006 return(0); } int DeInitialize() { return(0); }
Пример 2. Преобразуем строку в число:
int Initialize() { return(0); } int Run() { uint a; System.Print(""+parseInt("12345678",10,a)); System.Print("a="+a); return(0); } int DeInitialize() { return(0); }