Целая часть от числа Int |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
Целая часть от числа Int |
Vardes |
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
У меня такой вопрос к знатокам.Почему,когда я пытаюсь взять целую часть от числа 3 ( Int(3) ), то результат получаю <1, хотя по идее результатом должно быть то же число 3 ???
|
мисс_граффити |
Сообщение
#2
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Можно чуть подробнее - КАК ты это получаешь?
ShowMessage(FloatToStr(Int(3)));показывает 3. в консольном режиме writeln(Int(3));тоже выдает 3. у меня Delphi 6, если что. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
Сообщение
#3
|
Гость |
Во-первых, ты не очень корректно делаешь, Int возвращает результат типа Extended...
А потом, покажи, как ты это делаешь... У меня, например, так: ShowMessage(FloatToStr(Int(3)));показывает 3, как положено... |
мисс_граффити |
Сообщение
#4
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Цитата Во-первых, ты не очень корректно делаешь почему? Цитата function FloatToStr(Value: Extended): string; , как гласит Delphi Help вот я ему Extended и передаю... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
volvo |
Сообщение
#5
|
Гость |
Юля, я обращался к автору Если б видел твой ответ, ты думаешь, я бы стал дублировать?
|
Vardes |
Сообщение
#6
|
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
Ну вот пример:
Код var c,d:extended; begin c:=frac(118,6) //дробная часть числа=0,6 d:=int(c*10) //целая часть получается 5,вместо 6 Вот у меня и вопрос, почему при выражении c*10 получается не 6 а 5,9999(9). |
volvo |
Сообщение
#7
|
Гость |
Читай вот тут, например:
http://www2.hursley.ibm.com/decimal/decifaq.html (англ) про погрешность представления вещественных чисел... Или погугли на ту же тему, для нахождения информации на русском языке. Добавлено через 5 мин. P.S. Кое что есть вот тут: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374 Сообщение отредактировано: volvo - |
мисс_граффити |
Сообщение
#8
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
А теперь перечитываем первое сообщение.
Знаешь, 5 и 6 - это совсем не то же самое, что 3 и "число <1". По этой логике вместо 3 может получиться в худшем случае 2. Но 2>1... Как меня учили. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Vardes |
Сообщение
#9
|
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
Спасибо за информацию,очень помогла.
|
Текстовая версия | 24.12.2024 1:12 |