Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Округление #9

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open

Conversation

kirush0280
Copy link

Добавляем возможность округления значений

Copy link
Owner

@sergejey sergejey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Добавил несколько комментариев по реализации.

@@ -534,6 +534,7 @@ function dbInstall($data)
modbusdevices: REQUEST_START int(10) NOT NULL DEFAULT '0'
modbusdevices: REQUEST_TOTAL int(10) NOT NULL DEFAULT '0'
modbusdevices: MULTIPLIER varchar(50) NOT NULL DEFAULT ''
modbusdevices: ROUND tinyint(10) NOT NULL DEFAULT ''
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

для числовых значений DEFAULT лучше указывать числом, а не пустой строкой (см строку 535 к примеру).

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может быть поставить по умолчанию 2, пусть до сотой округляются значения. Вряд ли кому то нужно в УД более точные значения?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

по-умолчанию 2 мне кажется будет норм. но надо ещё проверить, чтоб при добавлении новой записи тоже по-умолчанию в выставлялась двойка в интерфейсе. т.е. надо этот момент добавления протестировать.

modules/modbus/modbusdevices_edit.inc.php Show resolved Hide resolved
modules/modbus/modbus.class.php Show resolved Hide resolved
Если не указывать округление, по умолчанию до сотых (2)
исправление комментария к полю
@kirush0280
Copy link
Author

После применения последних изменений, протестировал - добавляется по умолчанию округление до сотых.

@sergejey
Copy link
Owner

sergejey commented Sep 10, 2022

до целых округлять тогда в принципе не получится?) я не знаю нужно ли будет это (округление до целых) кому-то в принципе, но просто интересно, правильно ли я понял текущую логику.

@kirush0280
Copy link
Author

kirush0280 commented Sep 10, 2022

Почему не получится? По умолчанию, если в поле не указать ничего при создании нового элемента - там встанет "2" и округление будет происходить до сотых. Если нужно округлить до целого - меняем на "0".
У меня например снимаются показания с эл. счетчика - показания тока на фазе мне нужны до сотых.
А текущее потребление - целое значение.
Общее - до сотых. Вот пример:
2022-09-10_21-59

@sergejey
Copy link
Owner

так я потому и переспросил про указание нуля, ведь если указать ноль, то он на двойку при сохранении заменится, разве нет? по коду так выходит...

@kirush0280
Copy link
Author

if (!$rec['ROUND']) $rec['ROUND'] = '2';
В моем понимании было !$rec['ROUND'] - проверка = если не задано значения, то присвоим 2. Проверил - действительно, если 0 указать - игнорит и ставит 2.

@kirush0280 kirush0280 changed the title Patch 1 Округление Sep 10, 2022
 исправление
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants