Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Округлил, но........  [new]
spivak
Member

Откуда:
Сообщений: 176
я столкнулся с проблемой!
Вот смотрите:
Строка считает часы (время).
Получается, допустим 24,1200023 часов. Округляем. Получается 24 часа.
Следующая строка показывает ставку.
Допустим 9$
Так вот мне нужно, чтобы 9$ умножалось на 24, а получается так, что вроде как и округлил, а считается 9*24,1200023.....а мне надо 9*24....
Помогите, ГУРУ акцесса!
5 июл 04, 16:34    [785217]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Roma R
Member

Откуда:
Сообщений: 457
x=9*ФункцияОкругления(24,1200023)
5 июл 04, 16:36    [785227]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Что написано в программе, нам гадать самим?
5 июл 04, 16:37    [785228]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Jenek111
Guest
x=CCur(Sum)*Int(Hours)

ничего более умного в голову не приходит...
5 июл 04, 16:38    [785239]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
CInt
5 июл 04, 16:40    [785245]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Jenek111
Guest
если уж я претендую на "Гуру":

Если дробная часть числа в точности равна 0,5, то функции CInt и CLng всегда округляют число до ближайшего четного числа. Например, 0,5 округляется до 0, а 1,5 до 2. Необходимо отличать функции CInt
и CLng от функций Fix и Int, которые выполняют усечение, а не округление дробной части числа. Кроме того, функции Fix и Int всегда возвращают значение с тем же типом данных, который был передан в аргументе.

Int. па любому.
5 июл 04, 16:43    [785261]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
spivak
Member

Откуда:
Сообщений: 176
Понимаете,
я сделал программу полностью автоматической.
Значение в строке может быть любым а записей множество.
Мне нужно, чтобы любое значение часов (допустим 13,3435 или 12,7657) превращалось (в 13 или 12), а затем, эти числа умножались бы уже не СТАВКУ (на 9).
5 июл 04, 16:45    [785275]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Proga
Member

Откуда: МО
Сообщений: 3042
Я написал, как пример, если уж на то дело пошло, никто точного ТЗ не писал, поэтому и написал CInt на своё усмотрение, автор уж сам сделает выбор из предложенного.
5 июл 04, 16:47    [785285]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Уважаемый автор!

Вот это вот:
spivak
вроде как и округлил, а считается 9*24,1200023
мы можем увидеть в виде программы, а не в виде жалобы?
5 июл 04, 16:49    [785292]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
spivak
Member

Откуда:
Сообщений: 176
Вот Вам рисунок!
Смысл в том, что от THE PILOT EMBARKED DATE_TIME отнимается THE PILOT DISEMBARKED DATE_TIME.
Ответ получается 24.2499999
Округляем.
Получается 24.
Как сделать так, чтобы 24*на ставку. Ведь не смотря на то, что я округлил, Акцесс умножает не на 24, а на 24.2499999...

К сообщению приложен файл. Размер - 0Kb
5 июл 04, 16:52    [785305]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
spivak
Округляем.
Получается 24.

Как округляем? Программу можно увидеть? Третий раз спрашиваю. Или юзер руками округляет?
5 июл 04, 16:54    [785310]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
spivak
Member

Откуда:
Сообщений: 176
Прогу вы увидеть не сможете, она занимает много места (150 Мб)
Ответте плиз
5 июл 04, 16:57    [785321]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
andj25
Member

Откуда: казань
Сообщений: 272
Jenek111
если уж я претендую на "Гуру":

Если дробная часть числа в точности равна 0,5, то функции CInt и CLng всегда округляют число до ближайшего четного числа. Например, 0,5 округляется до 0, а 1,5 до 2. Необходимо отличать функции CInt
и CLng от функций Fix и Int, которые выполняют усечение, а не округление дробной части числа. Кроме того, функции Fix и Int всегда возвращают значение с тем же типом данных, который был передан в аргументе.

Int. па любому.


помоему тебе ответили
тебе нужно усечение до целого ...
5 июл 04, 17:02    [785343]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
spivak
Прогу вы увидеть не сможете, она занимает много места (150 Мб)
Ответте плиз


ТЫ ЧТО, ШУТИШЬ ИЛИ ДЯДЕК НЕ ПОНИМАЕШЬ ПО-РУССКИ? Покажи только ту команду, которой округляешь. Ничего более! Есть же разница:
Round(H*C) or H*Round(c) - в первом случае получишь округленное число, во втором - фигу
5 июл 04, 17:03    [785347]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Две строчки, которые округляют одно число, занимают много места???

Я не умею отлаживать программу, которую я никогда не видел.
5 июл 04, 17:03    [785348]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Rivkin Dmitry
Member

Откуда: Israel
Сообщений: 5500
Владимир Саныч
Две строчки, которые округляют одно число, занимают много места???

Я не умею отлаживать программу, которую я никогда не видел.


Прибедняется, конечно, ВС! Но телепатить, действительно, трудно
5 июл 04, 17:06    [785355]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
paparome
Member

Откуда: Москва
Сообщений: 4312
ИМХО:
Чел. ни чего не округляет, просто у него в поле где выводятся часы сделан формат вывода без дробной части.
Так вот - формат вывода НЕ ОКРУГЛЯЕТ число (значение находящиеся в поле), а ТОЛЬКО ВЫВОДИТ ЕГО ОКРУГЛЕННЫМ
Естественно, при умножении на значение этого поля, вы уножаее на САМО значение, а не на то что ВЫВОДИТСЯ НА ЭКРАН!
5 июл 04, 17:10    [785371]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
spivak
Member

Откуда:
Сообщений: 176
Спасибо, пацаны! Я использовал функцию Инт! А чем она отличается от Фикс?
Не ругайтесь на меня :)
5 июл 04, 17:14    [785390]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
andj25
Member

Откуда: казань
Сообщений: 272
spivak
Спасибо, пацаны! Я использовал функцию Инт! А чем она отличается от Фикс?
Не ругайтесь на меня :)


а хелп читать не пробовал?

курсор на инт и ф1
5 июл 04, 17:15    [785397]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
spivak
Member

Откуда:
Сообщений: 176
ИМХО:
Чел. ни чего не округляет, просто у него в поле где выводятся часы сделан формат вывода без дробной части.
Так вот - формат вывода НЕ ОКРУГЛЯЕТ число (значение находящиеся в поле), а ТОЛЬКО ВЫВОДИТ ЕГО ОКРУГЛЕННЫМ
Естественно, при умножении на значение этого поля, вы уножаее на САМО значение, а не на то что ВЫВОДИТСЯ НА ЭКРАН! -

В ТОЧКУ ПОПАЛ!!!!
5 июл 04, 17:16    [785400]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Для той проблемы, которая тут обсуждается, замена Int на Fix не поможет!
5 июл 04, 17:17    [785402]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
andj25
Member

Откуда: казань
Сообщений: 272
Различия между функциями в том, что Int для отрицательного значения аргумента возвращает ближайшее отрицательное целое, меньшее или равное указанному, а Fix ближайшее отрицательное целое число, большее либо равное указанному. Пример, int преобразует -8,4 в -9, а fix в -8
5 июл 04, 17:26    [785433]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
andj25
Member

Откуда: казань
Сообщений: 272
Владимир Саныч
Для той проблемы, которая тут обсуждается, замена Int на Fix не поможет!


а разве есть проблема?
вроде ее нет :))
поставит округление часов в подсчете з/п и все дела :))
типа как он пишет

х=9 баксов * int(часы)
5 июл 04, 17:31    [785452]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
andj25
Member

Откуда: казань
Сообщений: 272
пример

Dim MyNumber
MyNumber = Int(99.8) ' 99.
MyNumber = Fix(99.2) ' 99.

MyNumber = Int(-99.8) ' -100.
MyNumber = Fix(-99.8) ' -99.

MyNumber = Int(-99.2) ' -100.
MyNumber = Fix(-99.2) ' -99.
5 июл 04, 17:33    [785462]     Ответить | Цитировать Сообщить модератору
 Re: Округлил, но........  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
andj25
а разве есть проблема?
вроде ее нет :))

Вот когда до него дойдет, тогда не будет. :^)
5 июл 04, 17:35    [785471]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить