Автор | Сообщение |
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 14.12.06 16:45. Заголовок: Странный round()
5.2е. Программа из одной строчки: ? round(2200.845, 2) у меня выдает: 2200.84 Не сочтите за глупую просьбу - проверьте кто-нибудь.
|
|
|
Ответов - 22
, стр:
1
2
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 254
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.12.06 16:48. Заголовок: Re:
Это означает, что 2200.845 представлено в памяти как 2200.844ххх и т.д.
|
|
|
|
| |
Пост N: 526
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.12.06 16:56. Заголовок: Re:
Не помню где брал ;) Function P_Round(Number,Decimals) static Const := 0.0000000000000002220446049250313 Decimals:=if(Decimals==NIL,2,Decimals) return round((mantissa(Number)+if(Number>0,1,-1)*Const)*2^exponent(Number),Decimals)
|
|
|
|
| |
Не зарегистрирован
Зарегистрирован: 01.01.70
|
|
Отправлено: 14.12.06 17:11. Заголовок: Re:
Ох спасибо. С копейками на клиппере надо быть осторожней.
|
|
|
|
| |
Пост N: 68
Зарегистрирован: 12.06.06
|
|
Отправлено: 14.12.06 17:38. Заголовок: Re:
function myROUND(NEO) local oen oen=round(neo,4) return(round(1000*Oen,-1)/1000)
|
|
|
|
| |
Пост N: 51
Зарегистрирован: 30.05.05
|
|
Отправлено: 15.12.06 17:54. Заголовок: Re:
Вот еще ошибочки round(1.275, 2), str(1.275, 4,2), tran(1.275, "9.99") round(8.235, 2), str(8.235, 4,2), tran(8.235, "9.99") и еще один вариант roundA //Функция типа round вместо встроенной. Идея взята из конференции. //Идея основана на прибавлении несущественной величины перед округлением //(Кстати, когда nPos < 0, то round не врет) func ZRound (nNumber, nPos) local nPosExp := 10^nPos, nRet nRet := int(abs(nNumber)*nPosExp + 0.500001) / nPosExp if nNumber < 0 nRet := -nRet endif return nRet
|
|
|
|
| |
Пост N: 124
Зарегистрирован: 08.11.05
|
|
Отправлено: 16.12.06 13:52. Заголовок: Re:
aleksei Это точно. Та еще засада могет быть
|
|
|
|
| |
Пост N: 3
Зарегистрирован: 10.07.07
|
|
Отправлено: 10.07.07 17:31. Заголовок: Re:
Pager пишет: цитата: | func ZRound (nNumber, nPos) local nPosExp := 10^nPos, nRet nRet := int(abs(nNumber)*nPosExp + 0.500001) / nPosExp if nNumber < 0 nRet := -nRet endif return nRet |
| ?zround(1.0499999003,8) => 1.0499999 ну надо же в восьмом знаке видит ноль ?zround(1.0499999003,1) => 1.1 а тут во второй не может заглянуть Все эти поделки ничего не стОят Есть только одна хорошая функция - моя RoundTo Она кстати и в четную умеет округлять и на заданную точность настраиваться.
|
|
|
|
| |
Пост N: 738
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.07.07 18:40. Заголовок: Re:
suv7 пишет: цитата: | Есть только одна хорошая функция - моя RoundTo |
| Ни кто и не сомлевалси ;) Выкладуй исходник ;)
|
|
|
|
| |
Пост N: 4
Зарегистрирован: 10.07.07
|
|
Отправлено: 11.07.07 11:28. Заголовок: Re:
|
|
|
|
| |
Пост N: 5
Зарегистрирован: 10.07.07
|
|
Отправлено: 11.07.07 11:36. Заголовок: Re:
дим, я тебя просил мои ники покилять
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 10.07.07
|
|
Отправлено: 11.07.07 11:56. Заголовок: Re:
Round5DefaultMode([.T. | .F.]) - Установка, как будет округляться 5 - вверх (.T.) или к четному (.F.) Возвращает предыдущую установку FloatDigits(Num) - установка ОБЩЕГО количества десятичных позиций (как в целой, так и в дробной части), которым "можно верить" По умолчанию - 12. Это значит, что верим 12 дробным знакам в числе 0.123456789012хххххххх и четырём дробным знакам в числе типа 11222333.1234хххх Имеет смысл устанавливать от 12 до 15-16 знаков. RoundTo(N,Dec,[Round5toUp]) - параметры как в ROUND, 3й параметр - явное указание, куда округлять 5. Если не указано - используется значение, возвращаемое функцией Round5DefaultMode
|
|
|
|
|
| |
Пост N: 739
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.07.07 13:00. Заголовок: Re:
suv7 пишет: цитата: | дим, я тебя просил мои ники покилять |
| Убить всех SUV с цифирками и оставить только suv7 ?
|
|
|
|
| |
Пост N: 740
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.07.07 13:04. Заголовок: Re:
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 10.07.07
|
|
Отправлено: 11.07.07 13:09. Заголовок: Re:
убить всех suv* кроме suv2, пароль 123456
|
|
|
|
| |
Пост N: 741
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.07.07 15:11. Заголовок: Re:
suv7 пишет: цитата: | убить всех suv* кроме suv2 |
| Сделал. PS Не могу удалить просто suv , видать Dimma обделил меня с правами ;)
|
|
|
|
| постоянный участник
|
Пост N: 98
Зарегистрирован: 24.09.05
|
|
Отправлено: 11.07.07 15:37. Заголовок: Re:
тест suv2 с каким-то коротким паролем, но не с 123456
|
|
|
|
| постоянный участник
|
Пост N: 99
Зарегистрирован: 24.09.05
|
|
Отправлено: 11.07.07 15:38. Заголовок: Re:
а это suv2 с паролем 123456
|
|
|
|
| постоянный участник
|
Пост N: 100
Зарегистрирован: 24.09.05
|
|
Отправлено: 11.07.07 15:47. Заголовок: Re:
а это suv2 с паролем suv2
|
|
|
|
| постоянный участник
|
Пост N: 101
Зарегистрирован: 24.09.05
|
|
Отправлено: 11.07.07 15:47. Заголовок: Re:
дим с форумом полная фигня.
|
|
|
|
| |
Пост N: 742
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.07.07 17:05. Заголовок: Re:
suv2 пишет: цитата: | дим с форумом полная фигня. |
| проверил , все номано , у меня по крайней мере;) suv2 пишет: цитата: | а это suv2 с паролем suv2 |
| так вообще не пустит (меня не пустило)
|
|
|
Ответов - 22
, стр:
1
2
All
[только новые]
|
|