|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
привет. есть ли возможность конвертнуть real в decimal(15,6) без потери точности. т.е. например real мы видим как 100,025. Реал в децимал будет виден как 100,024999 например. потеря составляет 0,000001. промежуточную конвертацию в varchar не предлагать. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 12:49 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
Вся точность была потеряна при помещении значения в real. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:05 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
shut-up-and-skate, если вы видите real как 100,025, а при преобразовании в decimal с достаточным количеством знаков получаете иное, это означает что происходит не потеря точности, а то, что в real хранилось некое приближенное к 100,025 значение и при выводе оно округлялось. real - неточный тип данных. то есть вам нужно дополнительно округлить decimal для достижения того же результата. либо через строку ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:06 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
спасибо за ответы мужики. насчет того что хранится реал в приближенном виде это понятно. тогда другой вопрос, как при селекте в студии я вижу то что нужно? ну т.е. делаю селект поля типа real и все нормально он показывает. там алгоритм нужно использовать чтоб увидеть это число таким каким его записали изначально? з.ы. извеняюсь если непонятно выразился ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:09 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
Shakill, что значит через строку? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:10 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
shut-up-and-skateShakill, что значит через строку?если про промежуточную конвертацию через варчар то не взлетит. примерно в 1% случаев он возвращает совершенно другое значение с разницей вплоть до 0,05 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:11 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
shut-up-and-skateспасибо за ответы мужики. насчет того что хранится реал в приближенном виде это понятно. тогда другой вопрос, как при селекте в студии я вижу то что нужно? ну т.е. делаю селект поля типа real и все нормально он показывает. там алгоритм нужно использовать чтоб увидеть это число таким каким его записали изначально? з.ы. извеняюсь если непонятно выразилсяКлиентские утилиты округляют при отображении. Поэтому вы видите более-менее "круглое" значение. Промежуточное преобразование в varchar делает то же самое, кстати. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:12 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
shut-up-and-skateshut-up-and-skateShakill, что значит через строку?если про промежуточную конвертацию через варчар то не взлетит. примерно в 1% случаев он возвращает совершенно другое значение с разницей вплоть до 0,05 попробуйте тогда преобразовывать real в decimal(15, 7) и затем округлять до шестого знака ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:14 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
Shakill, ок. попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:16 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
Shakillshut-up-and-skate, если вы видите real как 100,025, а при преобразовании в decimal с достаточным количеством знаков получаете иное, это означает что происходит не потеря точности, а то, что в real хранилось некое приближенное к 100,025 значение и при выводе оно округлялось. real - неточный тип данных. то есть вам нужно дополнительно округлить decimal для достижения того же результата. либо через строкуreal - точный тип. Просто мы на практике никогда не видим его полное истинное значение. Которое не обязательно равно вставляемому значению с точностью до бита. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:39 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
iapreal - точный тип. Просто мы на практике никогда не видим его полное истинное значение. Которое не обязательно равно вставляемому значению с точностью до бита.неужели надо уточнять что он неточный применительно к хранению десятичных чисел ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 13:51 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
PaNikiapreal - точный тип. ... Microsoft с вами не согласенНачинаем дело "iap против Микрософта"! Надеюсь на вашу поддержку, друзья! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 14:05 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
PaNikiapreal - точный тип. ... Microsoft с вами не согласенспасибо что ткнул носом в решение. вот я тупой мужики... делал каст в варчар. а нужно было использовать str. победа. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 14:10 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
оффтопiapНачинаем дело "iap против Микрософта"! Надеюсь на вашу поддержку, друзья! так вы не первый. тут уже есть как минимум люди, несогласные с синтаксисом команды бэкап, несогласные с офф. переводом и т.д. =) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 14:11 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
shut-up-and-skate победа .для кого-то беда что такие спецы как я занимаются разработкой :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 14:13 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
iapНачинаем дело "iap против Микрософта"! Надеюсь на вашу поддержку, друзья! О - давненько не было етой темы float & real VS decimal & numeric ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 14:25 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
обсудите победу. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 14:52 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 15:01 |
|
mssql 2008r2. real в decimal
|
|||
---|---|---|---|
#18+
iapPaNikпропущено... Microsoft с вами не согласенНачинаем дело "iap против Микрософта"! Надеюсь на вашу поддержку, друзья! Просто все как всегда цитируют части определения А определение нужно читать целиком "Данные с плавающей запятой являются приблизительными, поэтому не все значения из диапазона могут быть отображены точно. Синониму real соответствует в ISO тип float(24)." Т.е. данные приблизительные. Но не потому, что они каждый раз разные, а потому что "не все значения могут быть отображены " Т.е. для тех, кто столкнулся с отображением данных, этот тип данных неточный. А для тех, кто совершает вычисления, этот тип данных очень даже точный ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2014, 16:14 |
|
|
start [/forum/topic.php?fid=46&gotonew=1&tid=1701801]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
138ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 236ms |
total: | 488ms |
0 / 0 |