|
|
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
Доброе утро всем. При умножении в 9-е 2-х чисел с 2-я знаками после запятой результат после запятой 3 знака, как сделать округление до 2-х, соответственно если больше 5 в большую сторону, иначе в меньшую(поле имеет форма 2 знака после запятой) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2006, 09:35 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
RIGORДоброе утро всем. При умножении в 9-е 2-х чисел с 2-я знаками после запятой результат после запятой 3 знака, как сделать округление до 2-х, соответственно если больше 5 в большую сторону, иначе в меньшую(поле имеет форма 2 знака после запятой) Функция ROUND(), см. HELP Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2006, 14:42 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
А как можно получить 12.39? Посколку 5.23*2.37=12.3951, т.е. не округлять, а просто остовить после запятой 2 значение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 12:24 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
? STR(21.3456, 5, 10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 12:33 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
? STR(21.3456, 5, 10) Получается- 21.35, надо 21,34 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 12:36 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
lc = ALLTRIM(STR(21.3456, 10, 10)) lc =SUBSTR(lc, 1, AT(".", lc)+2) ? lc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 12:46 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
RIGORДоброе утро всем. При умножении в 9-е 2-х чисел с 2-я знаками после запятой результат после запятой 3 знака, как сделать округление до 2-х, соответственно если больше 5 в большую сторону, иначе в меньшую(поле имеет форма 2 знака после запятой) Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 13:15 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 13:35 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
asd456А как можно получить 12.39? Посколку 5.23*2.37=12.3951, т.е. не округлять, а просто остовить после запятой 2 значение iCountR=2 iNumber=12.3951 ?ROUND(INT(iNumber*(10**iCountR))/(10**iCountR),2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 14:52 |
|
||
|
Точность вычисления
|
|||
|---|---|---|---|
|
#18+
asd456А как можно получить 12.39? Посколку 5.23*2.37=12.3951, т.е. не округлять, а просто остовить после запятой 2 значение Код: plaintext 1. 2. 3. Но это работает, если результирующее значение не больше 8 знаков, поскольку больше (после умножения на 100) не поддерживает тип Integer. Если знаков больше, то можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Т.е. просто находим символ разделитель целой и дробной части и отбрасываем все то, что после второго знака. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.01.2008, 14:53 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=35100844&tid=1588225]: |
0ms |
get settings: |
12ms |
get forum list: |
22ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
72ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 441ms |

| 0 / 0 |
