powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
22 сообщений из 22, страница 1 из 1
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32540931
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну оч срочно
В запросе в поле:
summ:[kol]*[cena]
выводит n знаков после запятой, а надо 2 с округлением
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32540934
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция Round
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32540946
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, всё получилось, а я думала такой функции в эксесе нет и надо что-то изобретать
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32540963
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это смотря какой Акцесс, а то может быть что Round функции нет!
Тогда Format(number, "0.00") or Format(number, "Fixed")
но она округляет не всегда так как хочется, может статься придется добавлять или отнимать number ± 0.005
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32540979
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня Access2000, как-то такой проблемы что-то округлять не было, а вот впечатление, что это не просто было
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541102
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще есть ф-я FormatCurrency - весьма удобно, 1-й операнд число, 2-й число знаков после запятой.
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541199
Хвост
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Round(1.5)= Round (2.5)=2 - просто надо помнить об этих особенностях
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541286
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, ну зачем маленьких пугать.
В Ac2000 я сделала Round(тата,2) и у меня 0.015 стало 0.02
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541316
Roma R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один ньюанс!
Функция Round округляет числа по правилам бухгалтерии, а не по правилам математики, т.е если отбрасывается 5 и последняя цифра четная, то округление в меньшую сторону, если последняя цифра не четная, то в большую

? round(3.565,2)
3,56
? round(3.575,2)
3,58
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541380
Хвост
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Lela

Ой, ну зачем маленьких пугать.
В Ac2000 я сделала Round(тата,2) и у меня 0.015 стало 0.02

0.025 то же 0.02 будет.
Ты топик про округление (ссылку дал выше) прочти - все страхи уйдут :) будешь сама пугать всех - как я
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541384
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, а так всё удачно складывалось,
визуально я посмотрела, вроде только одно это число с отбрасываемой 5,
а там кто его знает,
мне надо по правилам математики,
Format дал несоотв. типов данных,
может чё не так написала,
а FormatCurrency не определился
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541415
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
блин, топик по ссылке прочитайте внимательно. там много сказано насчет " округлений по правилам математики "
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541422
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну тогда немножко подумать и написАть:

summ:INT([kol]*[cena]*100+0.5)/100.0

Что то вроде этого.
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541429
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2хвост
Спасибо, я посмотрела ссылочку, прямо зачиталась
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541458
Хвост
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, благодаря Лоху Позорному, который первый (из известного мне) рассказал про особенности округления (видимо, когда про это говорили в школе, я чем-то другим занимался :) ), обнаружилась ошибка (верней, не понимание) великим и ужасным Гетцем, правил округления в одном его произведении (про VB/VBA которое). Так что: верим ЛП и политехническому словарю! :)
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541461
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Odess

Благодарю,
я сделала так, сумма не поменялась, значит чётных перед 5 не было,
а вот как написать запрос, чтобы высветить все записи у которых тысячная 5 я не знаю
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541477
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот как написать запрос, чтобы высветить все записи у которых тысячная 5 я не знаю

Идем тем же методом:
Отбираем значения тысячных:

INT([kol]*[cena]*1000)-INT([kol]*[cena]*100)*10

Результат от 0 до 9
Отбирай 5-ки и вперед.
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541523
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Odess
Я тебя целую, всё что надо отобрала, и таких записей туча
А сумма не поменялась, потому что Round отработал так же как и с Int(...)
Почему?
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541533
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я сделала запрос с полями:
summ: (Int([kol]*[cena]*1000)-Int([kol]*[cena]*100)*10)- это для отбора

summ1: ([kol]*[cena]) – то что надо округлить

summ_p: (Int([kol]*[cena]*100+0.5)/100) - это округление =

этому

summ_r: Round([kol]*[cena];2)
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541553
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это всё я со своими непонятками
Попробовала в Immediate Round - всё как вы говорите, различает чёт да нечёт
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541684
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Lela

Я думаю все дело в том, что у тебя число не заканчивается на 5-ку, т.е. пример

? round(3.565,2)
3,56

действителен именно для 3,565, но уже для 3,56500000001 ответ будет
3,57

Поэтому и ROUND у тебя работает именно так как мой пример. Хотя лично я применял бы метод, который понимаю лучше, а не надеялся на кого то другого.
...
Рейтинг: 0 / 0
Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
    #32541898
Lela
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Odess
Если бы ты мне не помог, я бы так и пялилась в листинг глазами,
главное, что я пользователю отдала (а надо было очень срочно) всё правильно, а потом это ещё и осмыслила

Всем большое спасибо
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Дико извиняюсь (n знаков после запятой, а надо 2 с округлением)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]