Об округлениях | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Не уверен, что тема для этого форума, но тем не менее.
Пусть имеется рациональное число А, хранящееся в числовом поле с 2-мя знаками после запятой. Также имеется некий переменный коэффициент К с числом знаков после запятой до четырёх. Вопрос заключается в следующем. Сколько надо иметь знаков после запятой для числа B, вычисляемого как отношение числа А к коэффициенту K, чтобы гарантированно получать число А при умножениии числа B на коэффициент K? И ещё. Насколько часто будет возникать погрешность, если число B хранить с 2 или 3 знаками после запятой? От чего будет зависеть такая погрешность? Пример.
|
Re: Об округлениях | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Извиняюсь, ответил не подумав.
Число необходимых знаков зависит от m.k. Достаточто будет int(log(m.k)/log(10))+3. Ну, если тройку заменить на 4, то точно. Исправлено 2 раз(а). Последнее : leonid, 12.04.20 11:39 |
Re: Об округлениях | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Спасибо! Ответ понятен.
Таким образом, хранить число А нет смысла, поскольку число B не может иметь более 2 знаков после запятой. Поскольку мне известен способ получения числа B другим способом, то буду хранить число В, а число А будет получаться так: m.a=round(m.b*m.k,2) |
Re: Об округлениях | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Боюсь, Вы не поняли. Число знаков у В после запятой не имеет ни малейшего значения.
|
Re: Об округлениях | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Коэффициент m.k принимает значения в диапазоне от 1 до 3.
Почему число знаков после запятой для числа B не имеет значения, действительно непонятно. |
Re: Об округлениях | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Если бы Вы сразу это написали, я бы Вам сразу написал, что хранить у результата 4 знака после запятой вполне хватит. |
Re: Об округлениях | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Только вот хранить стоимостные характеристики с 4 знаками после запятой никак "не с руки".
|
Re: Об округлениях | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Тип currency предназначенный для хранения "денежных" величин имеет именно 4 знака после запятой. Правда это на самом деле целочисленный тип (просто смещённый на 4 позиции). Ну и да, помимо вопроса о "значности" очень важен и вопрос о правильном округлении...
------------------ WBR, Igor |
© 2000-2024 Fox Club  |