Текущий архив: 2005.07.25;
Скачать: CL | DM;
Вниз
Как из строкового 19,10 перевести в вещественное 19, 10 без ... Найти похожие ветки
← →
Igor_thief (2005-07-06 19:37) [0]потери последнего нолика?
← →
_dimka © (2005-07-06 19:39) [1]StrToFloatF()
← →
Igor_thief (2005-07-06 19:41) [2]_dimka © (06.07.05 19:39) [1]
В каком модуле находится?
← →
_dimka © (2005-07-06 19:43) [3]SysUtils
← →
uny © (2005-07-06 19:45) [4]Igor_thief (06.07.05 19:37)
ноль обычно теряется?
← →
Igor_thief (2005-07-06 19:46) [5]Есть только StrToFloat, а такого как StrToFloatF нету. И я знаю про StrToFloat, но он не дает желаемого результата.
← →
_dimka © (2005-07-06 19:47) [6]Как это нету :)
← →
_dimka © (2005-07-06 19:49) [7]Извини не правильно понял вопрос не правильно ответил такой функции действительно нет прошу удалить мои посты...
← →
Virgo_Style © (2005-07-06 19:50) [8]Igor_thief (06.07.05 19:37)
без потери последнего нолика?
сохрани его в char 8-)
← →
Kerk © (2005-07-06 19:51) [9]А как ты себе представляешь "потерю последнего нолика" в вещественном числе? И каков его смысл?
← →
Igor_thief (2005-07-06 19:54) [10]Kerk © (06.07.05 19:51) [9]
А смысл таков: есть две строки "19,10" и "19,1"; как вещественные числа, они одинаковы и нолик роли не играет, но как строки, они разные и нолик играет свою роль. Мне надо сделать некоторые манипуляции над этими числами, но при этом, нельзя терять последний нолик!
← →
uny © (2005-07-06 19:54) [11]автор, как Вы это определяете - что пропал ноль?
← →
uny © (2005-07-06 19:56) [12][10] Igor_thief (06.07.05 19:54)
сохранять длину строки, после манипуляций дополнять нулями
← →
Igor_thief (2005-07-06 19:59) [13]uny © (06.07.05 19:54) [11]
Есть такая штука как "Watch" + это не эдинственный способ.
uny © (06.07.05 19:56) [12]
Тоже вариант, но я знаю другой, более подходящий в созданой мною ситуации. Мне бы ответ на конкретно поставленый вопрос.
← →
_dimka © (2005-07-06 20:01) [14]после манипуляций можно FloatToStrF() (имено с этой функцией и перепутал:))
← →
Kerk © (2005-07-06 20:02) [15]Igor_thief (06.07.05 19:59) [13]
Ответь на вопрос:
> А как ты себе представляешь "потерю последнего нолика"
> в вещественном числе?
НЕТУ ЕГО ТАМ!
← →
uny © (2005-07-06 20:04) [16][13] Igor_thief (06.07.05 19:59)
дробное число хранится в памяти не как 19,1 или 19,10
а как мантиса числа и его порядок. т.е. если в десятичном виде, то получится
0.191*10^2 <---- и как - есть ноль или нет?
вообще хранится в двоичном виде, там совсем ноль не разыщете :)
10(10) = 1010(2)
← →
TQuery (2005-07-06 20:04) [17]>Igor_thief (06.07.05 19:37)
Как ты себе представляешь "вещественное" число?
Это single (byte), real (8 byte), doudle ...
Скорее всего ты имеешь в виду ОТОБРАЖЕНИЕ этого числа.
Задай нормально вопрос (что именно тебе нужно) и, надеюсь, получишь вполне аргументированный ответ
← →
Igor_thief (2005-07-06 20:05) [18]Kerk © (06.07.05 20:02) [15]
Ясный-красный нету! Он в строке есть. Я то из строки перевожу в вещественный тип.
_dimka © (06.07.05 20:01) [14]
Димка, определись ка, есть такая ф-ция или нету и чего-то я не совсем понял твой последний пост. А ну как немного больше текста :).
← →
ferr © (2005-07-06 20:07) [19]Никуда он не пропадал.
Для преобразования можно использовать FormatFloat.
← →
Igor_thief (2005-07-06 20:07) [20]TQuery (06.07.05 20:04) [17]
Нормально представляю. Что я имею ввиду, все остальные поняли. Не знаешь ответа, не надо умничать, флудить (нужный ответ подчеркнуть :) (сказано в шутливой интонации)).
← →
ferr © (2005-07-06 20:10) [21]Покажи пальцем на того кто понял?
← →
Igor_thief (2005-07-06 20:10) [22]uny © (06.07.05 20:04) [16]
Знаю.
← →
Igor_thief (2005-07-06 20:15) [23]ferr © (06.07.05 20:07) [19]
Возвращает строку, а нам то надо наоборот.
ferr © (06.07.05 20:10) [21]
Ой, не будем тыкать пальцами :).
← →
Igor_thief (2005-07-06 20:16) [24]Ладно, всем большое спасибо за старание. Судя по всему, нету такого дела, поэтому будем выкручиваться иначе. Еще раз всем спасибо!
← →
Kerk © (2005-07-06 20:25) [25]В любом случае [26] прав!
← →
ferr © (2005-07-06 20:30) [26]бога нет
← →
uny © (2005-07-06 20:32) [27]ну хоть кончилось хорошо:)
← →
Anatoly Podgoretsky © (2005-07-06 20:42) [28]Держите меня трое.
← →
Юрий Зотов © (2005-07-06 23:40) [29]> Anatoly Podgoretsky © (06.07.05 20:42) [28]
Да уж. И смех, и грех. Без потери последнего нолика...
← →
Virgo_Style © (2005-07-07 00:06) [30]Хм. Кажется, я понял 8-)
Видимо, автору надо было отображать в результате некоторой операции столько же десятичных знаков, сколько было в исходном числе (или изменять их количество по какому-то алгоритму). Что-то из области операций со значениями с погрешностью, когда
2.0 + 3.0 = 5.0, а 2.0 + 3 = 5;
Но формулировка вопроса... Великолепная формулировка 8-)
← →
REA (2005-07-07 11:12) [31]Храни нули отдельно :) Называется это шаблон или формат вывода.
См. также тип Currency - может пригодится.
← →
DiamondShark © (2005-07-07 12:45) [32]Открою страшную тайну: в вещественном числе 19,10 в машинном представлении нету не только последнего нолика, но и последней единички.
← →
Igor_thief (2005-07-07 14:03) [33]Anatoly Podgoretsky © (06.07.05 20:42) [28]
Знали бы вы, зачем мне это извращение приходится делать, то троих человек было бы мало :)
Юрий Зотов © (06.07.05 23:40) [29]
Ну что поделаешь. Нужен мне именно этот вариант. Но ничего, я уже все сделал.
← →
Digitman © (2005-07-07 14:14) [34]
> ничего, я уже все сделал
но так, видимо, ничего и не понял из того что тебе тут говорили про машинное представление вещ.чисел)
> извращение
ну почему же извращение ?
это вполне реальная и часто требуемая задача - осуществлять прямое (строка - > число) и обратное (число -> строка) преобразования с учетом заданной маски форматирования
← →
Сайбель Алексей © (2005-07-07 14:30) [35]Просто используй маску там, где ты выводшь свое вещ.число
← →
Igor_thief (2005-07-07 14:35) [36]Digitman © (07.07.05 14:14) [34]
но так, видимо, ничего и не понял из того что тебе тут говорили про машинное представление вещ.чисел)
Все я понял (я это уже давно знал).
ну почему же извращение ?
да потому, что я то точно знаю что мне надо сделать, а вы знаете только маленький кусочек (ровно то, что я вам сказал), поэтому вам это и кажется бредом. Просто сложилась такая вот ситуация: есть бд, в которой есть поле, хранящее номер категории и подкатегории (категория,подкатегория). Раньше было решено, что подкатегорий (то что после запятой) не будет больше чме 9. Следовательно моголо быть 19,9 и все. Но потом, при некоторых изминениях применения программы, появилась ситуация, когда подкатегорий могло быть больше 10. Но так как числа 19,1 и 19,10 с мат. точки зр. равны, то и элементы разных категорий попадают в одну и ту же категорию. Но проблема не в этом. Потому как когда 19,1 и 19,10 представлять как строки, то это уже разные категории и все работает нормально. Но есть еще кое что! Надо было сделать сортировку в ListView таким образом, чтобы порядок был таковым: 19,1;19,2;19,3;...;19,10;19,11 а не 19,1;19,10;19,2;19,3;...;19,11. Вот поэтому это извращение, а не простое преобразование строки в число или обратно и поэтому этот нолик имеет большое значение (подкатегория 1 и 10).
← →
evvcom © (2005-07-07 14:42) [37]Тогда подкатегорию "1" надо переименовывать в "01". И все будет на своих местах, безо всяких "вещественных 19,1 и 19,10"
← →
Anatoly Podgoretsky © (2005-07-07 14:43) [38]Igor_thief (07.07.05 14:35) [36]
Вам надо просто принять на работу программиста.
← →
Digitman © (2005-07-07 14:47) [39]
> вам это и кажется бредом
конечно бред !
бред того кто додумался хранить категорию и подкатегорию в одном поле вещ.типа
> Надо было сделать сортировку в ListView таким образом, чтобы
> порядок был таковым
просто надо уметь пользоваться методом TListView.CustomSort() и применять его для произвольной сортировки, а не изобретать велосипед с квадратными колесами
← →
DiamondShark © (2005-07-07 16:08) [40]
> Тогда подкатегорию "1" надо переименовывать в "01". И все
> будет на своих местах, безо всяких "вещественных 19,1 и
> 19,10"
А потом они решат, что у них должна быть подкатегория 100, и будут переименовывать 01 в 001.
А потом окажется, что при поиске по категориям категория 1.01 почему-то не хочет сравниваться на равество с введённым значением.
В общем, если бы автор сразу удосужился бы описать проблему (изначальную, а не ту, к которой его привели кривые пути), то сохранил бы немало времени и нервов.
Страницы: 1 2 вся ветка
Текущий архив: 2005.07.25;
Скачать: CL | DM;
Память: 0.54 MB
Время: 0.01 c