Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];

Вниз

Как из строкового 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.012 c
9-1113245655
Ford
2005-04-11 22:54
2005.07.25
Опрос


1-1120553046
Still Swamp
2005-07-05 12:44
2005.07.25
Как грамотно сделать ожидание в треде


6-1113467680
loxx
2005-04-14 12:34
2005.07.25
Как отключить Internet


1-1120809729
slaga
2005-07-08 12:02
2005.07.25
Создание всех папок по заданому пути


4-1117050645
Holms
2005-05-25 23:50
2005.07.25
ZwQueryObject + Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский