Добрый день!
Наблюдаю странное поведение MT_String если строка в виде числа более 9 знаков
Вот пример
code_35792.txt
Почему это происходит?
Как исправить?
Этот топик читают: Гость
Ответов: 817
Рейтинг: 52
|
|||
карма: 1 |
| ||
файлы: 1 | code_35792.txt [1.2KB] [660] |
Ответов: 8926
Рейтинг: 823
|
|||
-= DriveR =-, знаковая целая в формате "integer" (4 бита) может иметь значения +-2 147 483 648, а 6 666 666 666 явно выходит за рамки допустимого (да к тому же похоже на число дьявола )
|
|||
карма: 19 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 10 раз(а), последний 2021-06-24 07:56:45 |
|||
карма: 0 |
|
Ответов: 817
Рейтинг: 52
|
|||
Ну ладно, что бы никого не смущать дьвольщиной, можно например написать 777777777777
А все остальное что вы написали я ничего не понял, как будто наругались на меня Можно как то поправить проблему? ------------ Дoбавленo в 10.52: 46.165.8.34, понял, сейчас посмотрю ------------ Дoбавленo в 10.54: 46.165.8.34, Ха... Мысль вашу понял, однако эти скобочки даже выглядят как костыли Может есть более правильное решение? |
|||
карма: 1 |
|
Разработчик
Ответов: 26151
Рейтинг: 2127
|
|||
-= DriveR =- писал(а): Как исправить?Загнать его туда как real
|
|||
карма: 22 |
| ||
Голосовали: | -= DriveR =- |
Ответов: 817
Рейтинг: 52
|
|||
nesco,
Работает! Только очень интересное решение, никогда не видел такого. Можно где то почитать про ".0", может есть еще что то интересное типа ".1 или .100500" ? ------------ Дoбавленo в 12.09: Леонид, Немного начал понимать о чем вы говорили. Это ограничение в компоненте, может сделать 8 бит? |
|||
карма: 1 |
|
Ответов: 1841
Рейтинг: 369
|
|||
-= DriveR =-,
2.1.2. Числа Одно и то же число можно записать самыми разными способами, например: 15 { целое } 15.0 { вещественное с фиксированной точкой } 1.5E01 { вещественное с плавающей точкой } $F { шестнадцатиричное } В языке Delphi имеется возможность применять все способы записи, но чаще всего используют целые и вещественные числа. Целые числа состоят только из цифр и знака + или –. Если знак опущен и число не равно 0, то оно рассматривается как положительное, например: 0 { 0 интерпретируется как целое число } 17 { положительное целое число } -39 { отрицательное целое число } Вещественные числа содержат целую и дробную части, разделенные точкой: 0.0 { 0 интерпретируется как вещественное число } 133.5 { положительное вещественное число } -0.7 { отрицательное вещественное число } Такая запись практикуется во многих ЯПах и служит в некоторых случаях как указание компилятору на тип числа (вещественное/целое), без использования дополнительных операторов явного приведения типа. ------------ Дoбавленo в 12.23: Леонид писал(а): +-2 147 483 648От -2147483648 до +2147483647 же |
|||
карма: 1 |
|
Ответов: 817
Рейтинг: 52
|
|||
CriDos писал(а): От −2147483648 до 2147483647 жеПонял Полезная информация, спасибо большое. |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
-= DriveR =-,
code_35794.txt ------------ Дoбавленo в 13.19: CriDos писал(а): От -2147483648 до +2147483647 же Леонид четко писал(а): "integer" (4 бита) может иметь значения +-2 147 483 648Тип Integer - это основной целочисленный тип в Delphi, и в настоящее время имеет ту же самую ёмкость как LongInt тип -
1 бит на знак, и 31 бит на значение. |
|||
карма: 25 |
| ||
файлы: 1 | code_35794.txt [939B] [618] |
Ответов: 4630
Рейтинг: 749
|
|||
Нет, четко написал CriDos
|
|||
карма: 26 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
А мне понятно и "+-"
|
|||
карма: 25 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Значения +2 147 483 648 быть не может.
|
|||
карма: 26 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Точно. А я на значения не обратил внимания.
Посыпаю голову пеплом. |
|||
карма: 25 |
|
Ответов: 8926
Рейтинг: 823
|
|||
CriDos писал(а): От -2147483648 до +2147483647 жеTad писал(а): А вот почему "4 бита" - непонятно |
|||
карма: 19 |
|
Ответов: 6
Рейтинг: 0
|
|||
Почему так необходимо подыскивать способ записи числа если нет нужды производить арифметического действия?
В известном примере (help\картеж:принцип\использования) замечено что при замене словесного названия модели авто (самара как 008) нули пропадают. Под каким-то хитрым "соусом" подскажите способ иметь альтернативу записи в картеж. |
|||
карма: 0 |
|