|
округление Round
|
|||
---|---|---|---|
#18+
Доброе время суток! Тема стара как мир, но все же.. IF NOT (SELECT OBJECT_ID('TEMPDB..#TableTmp')) IS NULL DROP TABLE #TableTmp create table #TableTmp ( [t] NUMERIC(16,4) ) insert into #TableTmp values(314.6346) select round(t,2) from #TableTmp Почему не 314.64? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:35 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manПочему не 314.64? Потому, что на округление до 2го знака влияет 3ий знак, а не 4ый ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:38 |
|
округление Round
|
|||
---|---|---|---|
#18+
Потому что NUMERIC(16,4) и результат 314.64 аналогичен 314.6400 а как показывать пользователю - вопрос не сервера ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:39 |
|
округление Round
|
|||
---|---|---|---|
#18+
так вроде округление справа налево. 6346 -> 635 -> 64 В общем, вопрос решается написанием собственной функции округления? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:43 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manВ общем, вопрос решается написанием собственной функции округления?Ну если вы решили округлять по своим собственным правилам, то да. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:44 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manтак вроде округление справа налево Это где такое округление ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:46 |
|
округление Round
|
|||
---|---|---|---|
#18+
дело в том, что пользователи выдают представленное выше округление(справа налево) как математическое Хотя я придерживаюсь другой точки зрения. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:46 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manчто пользователи выдают представленное выше округление(справа налево) как математическое Пусть ознакомятся https://ru.wikipedia.org/wiki/Округление ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:47 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manПочему не 314.64?Потому что 314.6300 ближе к округляемому числу (-0.0046), чем 314.6400 (+0.0054). В последних версиях можно округлять с третьим параметром <>0. Тогда будет просто отбрасывать "лишние разряды" Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 10:51 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_man, http://msdn.microsoft.com/ru-ru/library/ms175003(v=sql.105).aspx там и вариант с усечением упомянут ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 11:20 |
|
округление Round
|
|||
---|---|---|---|
#18+
iap, авторВ последних версиях можно округлять с третьим параметром <>0. Тогда будет просто отбрасывать "лишние разряды" мне вот как раз наоборот, надо учитывать.. так и придется что-то свое сочинять(( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 14:58 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manтак вроде округление справа налево. 6346 -> 635 -> 64 В общем, вопрос решается написанием собственной функции округления? Это Вы сами придумали такой способ округления :) На самом деле надо сравнивать остаток после знака, но которого хотите округлить. Остаток 46 в данном случае, он меньше 50, значит отбрасывается. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 15:12 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_maniap, авторВ последних версиях можно округлять с третьим параметром <>0. Тогда будет просто отбрасывать "лишние разряды" мне вот как раз наоборот, надо учитывать.. так и придется что-то свое сочинять((Как учитывать-то? Существует много способов округления: к ближайшему числу, "вниз", "вверх", "банковское округление", наконец! Из них Microsoft реализовал только два! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 15:12 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_man, PS Вы хотите своим способом как раз накопить ошибку округления. Эта ошибка и дает лишнюю 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2014, 15:13 |
|
округление Round
|
|||
---|---|---|---|
#18+
Владислав Колосов, я как математик как раз и не понимаю это бухгалтерское округление, если в ндс 4 знака после запятой, то надо учитывать все 4, а не отбрасывать ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 08:39 |
|
округление Round
|
|||
---|---|---|---|
#18+
iap, оказывается, никакой способ не округляет как в данном случае, т.е. справа налево, ни округление вверх, ни вниз ,ни случайное, ни банковское, ни чередующееся. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 08:58 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manтак вроде округление справа налево. 6346 -> 635 -> 64 В общем, вопрос решается написанием собственной функции округления? в таком случае вас спасет двойной ROUND: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 11:31 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manВладислав Колосов, я как математик как раз и не понимаю это бухгалтерское округление, если в ндс 4 знака после запятой, то надо учитывать все 4, а не отбрасывать Раз вы математик, до должны понимать, как правильно оценить остаток без накопления ошибки :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 11:36 |
|
округление Round
|
|||
---|---|---|---|
#18+
Владислав Колосовlast_manВладислав Колосов, я как математик как раз и не понимаю это бухгалтерское округление, если в ндс 4 знака после запятой, то надо учитывать все 4, а не отбрасывать Раз вы математик, до должны понимать, как правильно оценить остаток без накопления ошибки :) вы это его пользователям объясните, ТС под их мнением не подписывался. last_manдело в том, что пользователи выдают представленное выше округление(справа налево) как математическое Хотя я придерживаюсь другой точки зрения. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 11:40 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manоказывается, никакой способ не округляет как в данном случае, т.е. справа налево, ни округление вверх, ни вниз ,ни случайное, ни банковское, ни чередующееся. и непонятно зачем кому-то вообще надо было изобретать такой способ округления, какие у него достоинства. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 11:47 |
|
округление Round
|
|||
---|---|---|---|
#18+
Shakilllast_manоказывается, никакой способ не округляет как в данном случае, т.е. справа налево, ни округление вверх, ни вниз ,ни случайное, ни банковское, ни чередующееся. и непонятно зачем кому-то вообще надо было изобретать такой способ округления, какие у него достоинства. Полагаю, что это просто заблуждение относительно округления. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 12:08 |
|
округление Round
|
|||
---|---|---|---|
#18+
PS особенно, если это юристы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 12:09 |
|
округление Round
|
|||
---|---|---|---|
#18+
Shakilllast_manоказывается, никакой способ не округляет как в данном случае, т.е. справа налево, ни округление вверх, ни вниз ,ни случайное, ни банковское, ни чередующееся. и непонятно зачем кому-то вообще надо было изобретать такой способ округления, какие у него достоинства. вот всем не понять, а нам с ТС очень даже. радуйтесь, что у вас вменяемые пользователи. я вот товарища по дурдому вижу за версту ничего вы им не докажете, когда полная невменяемость, это бисер перед свиньями. ...a чтобы понять логику набекрень, надо и мозги иметь свернутые в ту же сторону, так что лучше и не пытаться ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 12:11 |
|
округление Round
|
|||
---|---|---|---|
#18+
last_manтак вроде округление справа налево. 6346 -> 635 -> 64 В общем, вопрос решается написанием собственной функции округления?Следуя этой логике, 314.634444444445 тогда тоже должно округлиться в 314.64, что мягко говоря весьма странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2014, 23:41 |
|
округление Round
|
|||
---|---|---|---|
#18+
o-oShakillпропущено... и непонятно зачем кому-то вообще надо было изобретать такой способ округления, какие у него достоинства. вот всем не понять, а нам с ТС очень даже. радуйтесь, что у вас вменяемые пользователи. я вот товарища по дурдому вижу за версту ничего вы им не докажете, когда полная невменяемость, это бисер перед свиньями. ...a чтобы понять логику набекрень, надо и мозги иметь свернутые в ту же сторону, так что лучше и не пытаться Стоит попробовать ткнуть пользователя в "ДОКУМЕНТ", а именно: СТАНДАРТ СЭВ СТ СЭВ 543-77 ЧИСЛА Правила записи и округления (который кстати все еще действующий, хотя принят в 79м году прошлого столетия). Возможно, что официальный документ окажется для них "более авторитетным" нежели просто Ваши утверждения. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2015, 13:32 |
|
|
start [/forum/topic.php?fid=46&msg=38809245&tid=1699298]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 264ms |
total: | 430ms |
0 / 0 |