Я предполагаю, что формат не является фиксированным, так как тогда вы могли бы просто выбрать эту часть строки и переместить ее в поле, определенное с рис.
Предполагается, что строковое значение состоит из 3 частей, разделенных пробелами. Сначала определите несколько полей:
1 part1 pic x(14).
1 part2 pic x(14).
1 part3 pic x(07).
1 digitsAn.
2 digits pic 9(03).
1 decimalsAn.
2 decimals pic .9(03).
1 theValue pic 9(03)v9(3).
Суффикс взят из моего соглашения об именах и указывает буквенно-цифровое значение. Если строка ввода может быть длиннее, увеличьте размеры по мере необходимости.
Остальной код анализирует theString в theValue .
* Extract the third part.
initialize part3
unstring theString delimited by all spaces into part1 part2 part3
* make sure the receiving field contains numeric data.
inspect part3 replacing spaces by zeroes
* extract digits before and after the decimal point.
unstring part3 delimited by "." into digits decimalsAn(2:)
* Combine parts before and after decimal points into a numeric value.
compute theValue = digits + decimals
Осторожно, я не запускал это через компилятор!