Автор | Сообщение |
|
| постоянный участник
|
Пост N: 5552
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.10.17 12:55. Заголовок: SET DECIMALS TO
Использую МиниГуи, Харбор такой: Version: 3.2.0dev (r1709261254) Built on: Sep 26 2017 Где сейчас задаётся разрядность вычислений, т.е. кол-во знаков после запятой ? Раньше нигде разрядность не задавал, использовал стандартную, 2 знака после запятой. А сейчас в новой версии идёт 4 знака после запятой. Прога кучу ошибок выдает при проверках.... Т.е. при STR( nSum ) выдаёт число с 4-мя знаками после нуля. Раньше выдавал 2 знака после нуля. Пробовал задавать в начале программы (как для Клипера): SET DECIMALS TO 2 SET FIXED ON результат всё равно отрицательный, т.е. выдает все равно 4 знака после запятой ! Как задать расчёты со стандартными двумя нулями после запятой ?
|
|
|
Ответов - 9
[только новые]
|
|
|
| Администратор
|
Пост N: 3619
Зарегистрирован: 23.05.05
|
|
Отправлено: 03.10.17 14:03. Заголовок: Как бы все есть в оп..
Как бы все есть в описании команд set decimals и set fixed в русском ng от 5.01. Ни добавить, ни прибавить. Все, как там описано, точно так же работает в харборе. Дай самодостаточный пример, что у тебя не так.
|
|
|
|
| постоянный участник
|
Пост N: 5553
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.10.17 14:55. Заголовок: Pasha пишет: Дай са..
Pasha пишет: цитата: | Дай самодостаточный пример, что у тебя не так. |
| Вот навскидку: PROCEDURE Main LOCAL nI, nK SET EPOCH TO ( Year(Date()) - 50 ) SET TOOLTIP BALLOON ON SET LANGUAGE TO RUSSIAN SET CODEPAGE TO RUSSIAN SET Date TO GERMAN RDDSETDEFAULT('DBFCDX') SET DELETED ON SET NAVIGATION EXTENDED SET MULTIPLE OFF WARNING SET DATE FORMAT "DD.MM.YY" SET DELETED ON SET GLOBAL HOTKEYS ON SET DECIMALS TO 2 SET FIXED ON nI := 123456.89 nK := 1.8901 ? MiniGuiVersion() ? nI, STR(nI) ? nK, STR(nK) ? nI*nK, STR(nI*nK) ..... Результат: Harbour MiniGUI Extended Edition 17.09 (Update 1) 123456.89 123456.89 1.8901 1.8901 233345.867789 233345.867789
|
|
|
|
| |
Пост N: 6602
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.10.17 19:47. Заголовок: Andrey SET FIXED O..
Andrey SET FIXED ON SET DECIMALS TO 2 nI := 123456.89 nK := 1.8901 ? nI, STR(nI) ? nK, STR(nK) ? nI*nK, STR(nI*nK) Clipper 123456.89 123456.89 1.89 1.89 233345.87 233345.87 Harbour 3.2.0dev (Rev. 18899) / Harbour 3.2.0dev (r1502260836) 123456.89 123456.89 1.89 1.8901 233345.87 233345.867789
|
|
|
|
| постоянный участник
|
Пост N: 5554
Зарегистрирован: 12.09.06
|
|
Отправлено: 03.10.17 22:26. Заголовок: Спасибо Dima ! :sm3..
Спасибо Dima !
|
|
|
|
| Администратор
|
Пост N: 3620
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.10.17 08:40. Заголовок: Налицо несовместимос..
Налицо несовместимость функции str() в clipper (и xHarbour) с одной стороны, и в Harbour с другой. В клиппере set fixed on влияет на работу str, а в harbour не влияет. Причем так было от сотворения мира с момента возникновения харбора. Надо отметить, что к разрядности вычислений это не имеет никакого отношения. Разрядность определяется правилами вычислений чисел с плавающей точкой, т.е. double. А это просто разрядность для преобразования этих чисел в строку. Т.е само число содержит знаки после запятой, но при преобразовании в строку они отбрасываются.
|
|
|
|
| |
Пост N: 6603
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.17 08:53. Заголовок: Pasha пишет: Налицо..
Pasha пишет: цитата: | Налицо несовместимость функции str() |
| я к примеру "голый" Str ни когда не использовал , поэтому и на такие косяки не нарывался.
|
|
|
|
| Администратор
|
Пост N: 3621
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.10.17 09:02. Заголовок: А я никогда не задав..
А я никогда не задавал set fixed on, и тоже не замечал такого фичи бага
|
|
|
|
| |
Пост N: 6604
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.10.17 11:00. Заголовок: Pasha пишет: А я ни..
Pasha пишет: цитата: | А я никогда не задавал set fixed on |
| +1
|
|
|
|
| |
Пост N: 119
Зарегистрирован: 09.09.11
|
|
Отправлено: 06.10.17 11:58. Заголовок: +100..
+100
|
|
|
|