Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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 почему-то не хочет сравниваться на равество с введённым значением.

В общем, если бы автор сразу удосужился бы описать проблему (изначальную, а не ту, к которой его привели кривые пути), то сохранил бы немало времени и нервов.


 
isasa ©   (2005-07-07 17:22) [41]

Оказывается, не только секс бывает с извращениями.......


 
Igor_thief   (2005-07-07 19:20) [42]

DiamondShark ©   (07.07.05 16:08) [40]
В общем, если бы автор сразу удосужился бы описать проблему (изначальную, а не ту, к которой его привели кривые пути), то сохранил бы немало времени и нервов.

Ну по-поводу времени согласен, а вот про нервы могу поспорить. Ведь никто не нервничает. Всем просто весело :).

В принцыпе, я не спрашивал никого классно это или нет. Я только спрашивал как сделать... Ну да ладно.

Digitman ©   (07.07.05 14:47) [39]
конечно бред !

бред того кто додумался хранить категорию и подкатегорию в одном поле вещ.типа

Не согласен! 1. вы не знаете всех подробностей того прожэкта, поэтому ваше мнение поверхностное (а описывать детали проэкта очень долго); 2. нормальная идея - экономит место (количество полей с повторяющейся инфой), да и написать сортировку было дело легкорешаемое, так что с  
просто надо уметь пользоваться методом TListView.CustomSort() и применять его для произвольной сортировки, а не изобретать велосипед с квадратными колесами вы поспешили.


 
Fay ©   (2005-07-07 19:31) [43]

2 Igor_thief   (07.07.05 19:20) [42]
пеши есчо!


 
Anatoly Podgoretsky ©   (2005-07-07 19:33) [44]

Igor_thief   (07.07.05 19:20) [42]
Еще бы - весело несколько последних лет, ты почаще пиши.


 
Igor_thief   (2005-07-07 19:47) [45]

Fay ©   (07.07.05 19:31) [43]
Anatoly Podgoretsky ©   (07.07.05 19:33) [44]
А где слово "аффтар"? :)


 
Fay ©   (2005-07-07 19:50) [46]

2 Igor_thief   (07.07.05 19:47) [45]
аффтар
8)


 
Igor_thief   (2005-07-07 20:06) [47]

Anatoly Podgoretsky ©   (07.07.05 19:33) [44]
ты почаще пиши

Да не вопрос! Просто в последнее время по многим причинам меня на форуме не было да и за Дельфи садился ну очень редко. Но теперь у меня есть куча времени, так что я вернулся на форум и снова продолжаю работать/изучать Дельфи.


 
Digitman ©   (2005-07-08 08:20) [48]


> 2. нормальная идея - экономит место (количество полей с
> повторяющейся инфой)


"закон сохранения" гласит : приобретаешь одно - теряешь другое ..
выигрыш (весьма сомнительный) в "экономии" сводится на нет проигрышем в производительности



Страницы: 1 2 вся ветка

Текущий архив: 2005.07.25;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.039 c
14-1120131224
TQuery
2005-06-30 15:33
2005.07.25
Структура заголовков файлов


1-1120942375
Green_Templar
2005-07-10 00:52
2005.07.25
speedbutton


14-1120241762
Ермак
2005-07-01 22:16
2005.07.25
Чем зажать инсталляционный пакет?


6-1113740754
Alpine
2005-04-17 16:25
2005.07.25
Работа с Модемом.


1-1120473179
Kolan
2005-07-04 14:32
2005.07.25
Как разрешить изменять текст в StringGrid и как получить Reсt