Формат ячейки таблицы?
Проблема в том, что когда извлекаешь значение из таблицы, например, цену и пробуешь сделать какие-нибудь арифмитические операции, то пишет ошибку о несоответствии типов.
Если применить функцию StrToNum() к извлекаемому значение, то данная функция фозвращает, например, из числа 996,23 ->99623
Если функция в AFL которая может преобразовывать дробные значения числового текста в дробное число, а не как в примере выше?
Вообщем как оптимальнее бороться с данной проблемой?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Вопрос, в догонку - Как округлить дробную часть числа, например с 4-х знаков после запятой, до 2-х знаков?
Пока нашёл только округление до целого числа - round().
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
RomaNick пишет: Впоросик. Можно ли задавать в амишарп формат ячеки таблицы? Например, числовой , вместо тестовой?
Нет, нельзя. По DDE мы получаем именно строки - соответственно вся работа внутри амишарпа идет со строками
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
RomaNick пишет: Как округлить дробную часть числа, например с 4-х знаков после запятой, до 2-х знаков?
Пока нашёл только округление до целого числа - round().
RoundedValue = round(SourceValue * 100) / 100
Или
RoundedString = NumToStr(SourceValue,1.2,False)
Или
Round_To_Step
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
magni2de пишет: Это происходит потому, что в Quik разделитель дробной части точка, а в Амиброкере запятая. Можно просто поменять в региональных настройках винды разделитель у денежных чисел с запятой на точку, тогда амиброкер будет нормально понимать числа.
Все так. Только уточню: Quik использует настройки локали для формирования числовых строк. В общем случае можно эти настройки прочитать и перед преобразованием строки в число подменить в нем разделители. Вот пример
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.