21.07.2010, 11:18 | #1 |
Участник
|
real -> str
Подскажите, в чем проблема. Никак не пойму.
У меня есть контейнер, в нём положительное значение real. С помощью strfmt перевожу его в str, в результате появляется знак '+'. Почему? |
|
21.07.2010, 11:43 | #2 |
Ищущий знания...
|
какая у вас версия аксапты?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.07.2010, 11:46 | #3 |
Ищущий знания...
|
попробовал в трешке, strFmt выдает без плюса...
пробовали использовать функцию num2str() ?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.07.2010, 11:46 | #4 |
Участник
|
Ax 4.0 без сервиспаков.
|
|
21.07.2010, 11:47 | #5 |
Участник
|
num2str() выдаёт тоже с '+'.
|
|
21.07.2010, 11:49 | #6 |
Модератор
|
Не стесняйтесь, показывайте код, иначе ждите ответов в духе "ошибка в третьей строке"
__________________
-ТСЯ или -ТЬСЯ ? |
|
21.07.2010, 11:57 | #7 |
Участник
|
tmpStr = conpeek(value, conIterator) ? strRFix(strfmt("%1", conpeek(value, conIterator)), displayLength) : "";
|
|
21.07.2010, 11:58 | #8 |
Участник
|
причём, когда-то 'плюс' появляется, а когда-то нет. Посмотрел в дебагере, в контейнере Real.
|
|
21.07.2010, 12:02 | #9 |
Ищущий знания...
|
а что за функция такая strRFix(), что то я в трешке такого не нашел... может в ней собака порылась?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.07.2010, 12:04 | #10 |
Участник
|
tmpStr = strfmt("%1", conpeek(value, conIterator));
результат тот же |
|
21.07.2010, 12:05 | #11 |
Участник
|
|
|
21.07.2010, 12:06 | #12 |
Участник
|
Ax 4.0 SP2 - плюса нет. Вы на 100% уверены что в контейнере у вас именно real, а не число, преобразованное в строку еще до того, как оно записывается в контейнер ?
|
|
21.07.2010, 12:13 | #13 |
Участник
|
|
|
21.07.2010, 12:16 | #14 |
Ищущий знания...
|
да, есть такая в Global, беру свои слова обратно. Сорри .
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.07.2010, 12:17 | #15 |
Участник
|
Есть еще версия. Что на самом деле у вас число не типа real, а расширенного типа данных, в свойствах которого указано SignDisplay=prefixed. Поэтому появляется знак плюса.
|
|
21.07.2010, 12:36 | #16 |
Moderator
|
|
|
21.07.2010, 13:10 | #17 |
Участник
|
а вот если пишу tmpStr = strfmt("%1", abs(conpeek(value, conIterator)));
то не появляется плюс фигня какая-то |
|
21.07.2010, 13:51 | #18 |
Участник
|
А что возвращает вот такая комбинация:
info(queryValue(typeOf(conPeek(value, conIterator)))) ? |
|
21.07.2010, 14:03 | #19 |
Участник
|
|
|
21.07.2010, 15:20 | #20 |
Участник
|
am = conpeek(value, conIterator);
s = strfmt("%1",am); получаю со знаком плюса am = 1.0*conpeek(value, conIterator); s = strfmt("%1",am); без знака плюса где am - real s - str conIterator = 2 |
|
Теги |
преобразование типов |
|
|