У меня такой вопрос к знатокам.Почему,когда я пытаюсь взять целую часть от числа 3 ( Int(3) ), то результат получаю <1, хотя по идее результатом должно быть то же число 3 ???
мисс_граффити
17.06.2007 1:03
Можно чуть подробнее - КАК ты это получаешь?
ShowMessage(FloatToStr(Int(3)));
показывает 3. в консольном режиме
writeln(Int(3));
тоже выдает 3. у меня Delphi 6, если что.
volvo
17.06.2007 1:05
Во-первых, ты не очень корректно делаешь, Int возвращает результат типа Extended...
А потом, покажи, как ты это делаешь... У меня, например, так:
ShowMessage(FloatToStr(Int(3)));
показывает 3, как положено...
мисс_граффити
17.06.2007 1:13
Цитата
Во-первых, ты не очень корректно делаешь
почему?
Цитата
function FloatToStr(Value: Extended): string;
, как гласит Delphi Help вот я ему Extended и передаю...
volvo
17.06.2007 1:16
Юля, я обращался к автору Если б видел твой ответ, ты думаешь, я бы стал дублировать?
Vardes
17.06.2007 3:04
Ну вот пример:
Код
var c,d:extended; begin c:=frac(118,6) //дробная часть числа=0,6 d:=int(c*10) //целая часть получается 5,вместо 6
Вот у меня и вопрос, почему при выражении c*10 получается не 6 а 5,9999(9).
А теперь перечитываем первое сообщение. Знаешь, 5 и 6 - это совсем не то же самое, что 3 и "число <1". По этой логике вместо 3 может получиться в худшем случае 2. Но 2>1... Как меня учили.
Vardes
17.06.2007 18:13
Спасибо за информацию,очень помогла.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.