|
|
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
Есть два значения, например 525 и 0.065, результат умножения которых заносим в поле таблицы n3 N(10,2) SELECT MyTable REPLACE n3 WITH 525*0.065 В итоге n3=34.13 Оказывается по правилам матиматики это не правельно. Если мы округляем дробную часть до какойто точночсти, то значения меньше 5 округлятся вниз, а больше 5 вверх. А если равно 5, то не чётные вверх, а чётные вниз. Например окрегление до двух знаков после запятой: 34.125 = 34.12 (12 - чётное) 34.135 = 34.14 (13 - не чётное) Почемуто последнее правило математики (если = 5) в Fox-е (REPLACE n3 WITH 525*0.065) не сработало. Или шото неправельно делаю. Как вообще делать округление в Fox-е по всем правилам математики? Зарание благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 10:04 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 10:19 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
Это понятно, что самостоятельно отслежывая чётная или не чётная дробная часть, округлять с помощью этих функций. Готовой функции нету которая округляет дробную часть до заданой точности учитывая все правила математики? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 11:45 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
Готовой функции нету которая округляет дробную часть до заданой точности учитывая все правила математики? Глобального правила математического округления не существут - видов округления очень много и они поразному используются в различных ситуациях. То что Вы хотите это так называемое банковскоое округление - http://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5 Встроеной функции для него в Фоксе нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 13:52 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста а если случай довольно простой.... То есть есть результат вычисления - он равен 3657.70775 Нужно средствами Fox Pro округлить его до 2 знаков математически или как это назвать, то есть как учили в школе! Должно получиться 3657.71. функция ROUND(3657.70775 , 2) возвращает результат - 3657.70 Как быть ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 12:05 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
Scare82функция ROUND(3657.70775 , 2) возвращает результат - 3657.70 Не верю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 12:44 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
"AleksMed" <nospam@sql.ru> сообщил/сообщила в новостях следующее: news:5245506@sql.ru... > Автор: AleksMed > Scare82 > функция ROUND(3657.70775 , 2) возвращает результат - 3657.70 > > Не верю Тоже не верю!!!! Результат может быть ОТОБРАЖЕН как 3657.7 но не как 3657.70!!! Если я ошибаюсь - приводи все set`ы SET DECIMALS TO 1 SET FIXED ON lnRounded=ROUND(3657.70775 , 2) ?lnRounded SET FIXED Off ?lnRounded Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 13:08 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
AleksMed Scare82функция ROUND(3657.70775 , 2) возвращает результат - 3657.70 Не верю +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2008, 15:49 |
|
||
|
Правило округления
|
|||
|---|---|---|---|
|
#18+
А в каком месте она так отображается? Не в поле с маской случайно? Или предварительно результат был сохранен в таблице/курсоре с полем размерностью n(X,1), а уже потом отображен? А если так прямо в командном окне задать: Код: plaintext ________ Не дадим распространиться заразе политкорректности! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2008, 00:55 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34298605&tid=1588204]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 216ms |
| total: | 390ms |

| 0 / 0 |
