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

Вниз

Перевод значения String в число.   Найти похожие ветки 

 
Vitalik__   (2006-02-26 23:17) [0]

Вот незадача. никак не перевести String "2AFEA45F" в число, с которым можно делать математические операции. Есть ли такая функция? типа StrToInt?


 
unknown ©   (2006-02-26 23:22) [1]


> Vitalik__   (26.02.06 23:17)
>
> Вот незадача. никак не перевести String "2AFEA45F" в число,
>  с которым можно делать математические операции. Есть ли
> такая функция? типа StrToInt?

Есть.
Надо к строке добавить "$" т.е. :
s:string;
i:integer;
 s:="2AFEA45F";
 i:=StrToInt("$"+s);


 
Галинка ©   (2006-02-26 23:25) [2]

VCL Reference

StrToBcd function

See also

Converts a string to the corresponding binary-coded decimal (BCD) value.

Unit

FMTBcd

Category

BCD support

function StrToBcd( const aValue: string): TBcd;

Description

Use StrToBcd to convert a string into a binary-coded decimal value. The decimals and precision are inferred from the digits present in the string.

StrToBcd converts the string specified by aValue and returns the resulting BCD value. If aValue does not represent a value that can be expressed as a TBcd, StrToBcd raises an exception.

Tip: To convert a string to a Bcd value without raising an exception for invalid strings, use the TryStrToBcd function instead.

F1 иногда помогает )))


 
unknown ©   (2006-02-26 23:36) [3]

>Галинка ©   (26.02.06 23:25) [2]
Неужели? Можно примерчик StrToBcd ?


 
Vitalik__   (2006-02-26 23:48) [4]

спасибо


 
Галинка ©   (2006-02-26 23:56) [5]

Пардон, я перепутала. Это восьмиричное число.


 
Галинка ©   (2006-02-27 00:11) [6]

unknown ©

а можно ли как-то оставить число в шестнадцатиричном представлении?


 
Marser ©   (2006-02-27 00:17) [7]

> [5] Галинка ©   (26.02.06 23:56)
> Пардон, я перепутала. Это восьмиричное число.

BCD это не восьмеричное число. Это способ отображения числа, когда каждой тетраде(или байту - для неупакованных BCD) соответствует десятичная цифра.

> а можно ли как-то оставить число в шестнадцатиричном представлении?

Число оно и есть число. А оставить можно и в той же строке. Перевести? Я Вас не удивлю - всё тот же IntToHex.


 
unknown ©   (2006-02-27 00:17) [8]


> Галинка ©   (27.02.06 00:11) [6]
> unknown ©
> а можно ли как-то оставить число в шестнадцатиричном представлении?
>

В каком смысле оставить? Оперировать напрямую со строкой "2AFEA45F" ?
Нет проблем - стоит только реализовать арифметику с шестнадцатиричными
числами, что не так и сложно. Только вот зачем?


 
Галинка ©   (2006-02-27 00:29) [9]

Marser ©   (27.02.06 00:17) [7]

IntToHex есть. а как его потом в строку обратно?


 
Marser ©   (2006-02-27 00:30) [10]

> [9] Галинка ©   (27.02.06 00:29)
> Marser ©   (27.02.06 00:17) [7]
>
> IntToHex есть. а как его потом в строку обратно?

Так он в строку и преобразует :-) Нет такого типа как Hex.
В чём проблема?


 
Anatoly Podgoretsky ©   (2006-02-27 00:31) [11]

Галинка ©   (27.02.06 00:29) [9]
Мы уже по кругу пошли - StrToInt("$"+s);


 
Галинка ©   (2006-02-27 00:37) [12]

Я ввожу например А, что в шестнадцатиричной системе равно 10 в десятичной. Вот он мне 10 и выводит. А как его оставить числом но в шетнадцатиричной? Можно вообще?

Вот, например, в Debuger если ставишь в AddWatch указатель, то он показывает на адрес в шестнадцатиричной форме. На сколько я понимаю в системе все переводится в строки. как дельфи перводит шестнадцариричное число в строку?


 
Marser ©   (2006-02-27 00:44) [13]

> А как его оставить числом но в шетнадцатиричной?

Здесь меня так и подмывает отправить Вас прямиком на уроки Юрия Зотова сюда http://delphikingdom.com/lyceum/seminar.asp?ID=1
Там он чётко объясняет, что существует значение числа, а существуют его представления в разных системах.
Поэтому в вашем случае можно использовать для соответствующего отображения всё те же StrToInt, IntToHex, ещё StrToIntDef, хотя я бы порекомендовал такую щтуку как Format - IMHO, самое удобное, если нужно постоянно віводить числа в Hex.


 
Галинка ©   (2006-02-27 00:58) [14]


> Marser ©   (27.02.06 00:44) [13]
> > А как его оставить числом но в шетнадцатиричной?Здесь
> меня так и подмывает отправить Вас прямиком на уроки Юрия
> Зотова


Спасибо за направление. (без приколов)



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

Форум: "Начинающим";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.013 c
2-1140889474
Vitalik__
2006-02-25 20:44
2006.03.12
Неподскажите как сделать паузу 1 сек в программе?


2-1140641543
вася
2006-02-22 23:52
2006.03.12
массив и сеть


2-1140769646
unlink
2006-02-24 11:27
2006.03.12
сравнение методов сортировки


1-1139351046
Ани
2006-02-08 01:24
2006.03.12
Как динамически создавать анимированные курсоры из своих картинок


2-1140519656
лом
2006-02-21 14:00
2006.03.12
Такой вопрос





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский