PDA

Просмотр полной версии : Как перевести из шестнадцатеричной в десятичную



nnaf
08.02.2018, 23:19
Тег OPC сервера читается длинной, более десяти измеряемых параметров одной строкой в формате HEX. В скаде применяю ФБ "разбор строки", формат выходных параметров выбираю строковый. На выходе получаю ряд чисел в формате HEX. Не могу понять как их преобразовать из шестнадцатеричной в десятичную систему?
35462

SCADAMaster
09.02.2018, 08:28
Лучше всего решить эту задачу в ФБ "Скрипт C#" - у него есть все необходимые функции, и для разработка стркои, и для преобразования чисел.
Примеры можно найти в интернете:
https://stackoverflow.com/questions/16999604/convert-string-to-hex-string-in-c-sharp

nnaf
13.02.2018, 22:48
Так и не понял как заставить ФБ "Скрипт C#" строковый символ A1 возвращать на выход десятичным числом 161. Может быть есть готовый скрипт делающий такое преобразование.

SCADAMaster
14.02.2018, 08:46
Если что-то не понятно, всегда можно воспользоваться поиском:
http://theburningmonk.com/2010/02/converting-hex-to-int-in-csharp/

nnaf
14.02.2018, 18:40
Гуглом пользоваться умею, но к сожалению ни один из этих скриптов не могу заставить работать.
35596
35597
35598

SCADAMaster
15.02.2018, 08:44
public override void Execute()
{
string hex = Параметр2;
// this returns 1322173
try
{
int intValue = int.Parse(hex, System.Globalization.NumberStyles.HexNumber);
Параметр1=intValue;
}
catch
{
Параметр3="Ошибка преобразования";
}

}

nnaf
15.02.2018, 20:07
Здорово. Да Вы волшебник. Все работает. Спасибо.