Функция ParseInt

При создании правила пытаюсь использовать ParseInt. Код:
log.info("Srt Hex: " + JSON.parse(message.value).result.response.slice(58, 62))
log.info("Parse Int: " + parseInt(JSON.parse(message.value).result.response.slice(58, 62), 16))
Ниже вывод с разными значениями. Почему иногда преобразование в int происходит неверно?

2024-03-05 12:19:23Srt Hex: 0169
2024-03-05 12:19:23Parse Int: 14
2024-03-05 12:19:24Srt Hex: 0169
2024-03-05 12:19:24Parse Int: 14
2024-03-05 12:19:25Srt Hex: 0169
2024-03-05 12:19:25Parse Int: 14
2024-03-05 12:19:26Srt Hex: 0169
2024-03-05 12:19:26Parse Int: 14
2024-03-05 12:19:27Srt Hex: 0169
2024-03-05 12:19:27Parse Int: 14
2024-03-05 12:19:28Srt Hex: 0169
2024-03-05 12:19:28Parse Int: 14
2024-03-05 12:19:29Srt Hex: 0169
2024-03-05 12:19:29Parse Int: 14
2024-03-05 12:19:30Srt Hex: 016a
2024-03-05 12:19:30Parse Int: 14
2024-03-05 12:19:31Srt Hex: 0170
2024-03-05 12:19:31Parse Int: 120
2024-03-05 12:19:32Srt Hex: 017f
2024-03-05 12:19:32Parse Int: 15
2024-03-05 12:19:33Srt Hex: 0199
2024-03-05 12:19:33Parse Int: 1
2024-03-05 12:19:34Srt Hex: 01bf
2024-03-05 12:19:34Parse Int: 1
2024-03-05 12:19:35Srt Hex: 01f0
2024-03-05 12:19:35Parse Int: 1
2024-03-05 12:19:36Srt Hex: 0224
2024-03-05 12:19:36Parse Int: 148
2024-03-05 12:19:37Srt Hex: 0257
2024-03-05 12:19:37Parse Int: 175
2024-03-05 12:19:38Srt Hex: 028c
2024-03-05 12:19:38Parse Int: 2
2024-03-05 12:19:39Srt Hex: 02c1
2024-03-05 12:19:39Parse Int: 2
2024-03-05 12:19:40Srt Hex: 02f6
2024-03-05 12:19:40Parse Int: 2
2024-03-05 12:19:41Srt Hex: 0329
2024-03-05 12:19:41Parse Int: 26
2024-03-05 12:19:42Srt Hex: 035e
2024-03-05 12:19:42Parse Int: 29
2024-03-05 12:19:43Srt Hex: 0393
2024-03-05 12:19:43Parse Int: 3
2024-03-05 12:19:44Srt Hex: 03c9
2024-03-05 12:19:44Parse Int: 3
2024-03-05 12:19:45Srt Hex: 03fe
2024-03-05 12:19:45Parse Int: 3
2024-03-05 12:19:46Srt Hex: 0432
2024-03-05 12:19:46Parse Int: 282
2024-03-05 12:19:47Srt Hex: 0468
2024-03-05 12:19:47Parse Int: 38
2024-03-05 12:19:48Srt Hex: 049d
2024-03-05 12:19:48Parse Int: 4
2024-03-05 12:19:49Srt Hex: 04d3
2024-03-05 12:19:49Parse Int: 4
2024-03-05 12:19:50Srt Hex: 0507
2024-03-05 12:19:50Parse Int: 327
2024-03-05 12:19:51Srt Hex: 053d
2024-03-05 12:19:51Parse Int: 43
2024-03-05 12:19:52Srt Hex: 0573
2024-03-05 12:19:52Parse Int: 379
2024-03-05 12:19:53Srt Hex: 05a8
2024-03-05 12:19:53Parse Int: 5
2024-03-05 12:19:54Srt Hex: 05dd
2024-03-05 12:19:54Parse Int: 5
2024-03-05 12:19:55Srt Hex: 0612
2024-03-05 12:19:55Parse Int: 394
2024-03-05 12:19:56Srt Hex: 0648
2024-03-05 12:19:56Parse Int: 52
2024-03-05 12:19:57Srt Hex: 067e
2024-03-05 12:19:57Parse Int: 55
2024-03-05 12:19:58Srt Hex: 06b3
2024-03-05 12:19:58Parse Int: 6
2024-03-05 12:19:59Srt Hex: 06e8
2024-03-05 12:19:59Parse Int: 6
2024-03-05 12:20:00Srt Hex: 071e
2024-03-05 12:20:00Parse Int: 57
2024-03-05 12:20:01Srt Hex: 0753
2024-03-05 12:20:01Parse Int: 491
2024-03-05 12:20:02Srt Hex: 078a
2024-03-05 12:20:02Parse Int: 7
2024-03-05 12:20:03Srt Hex: 07be
2024-03-05 12:20:03Parse Int: 7
2024-03-05 12:20:04Srt Hex: 07f4
2024-03-05 12:20:04Parse Int: 7
2024-03-05 12:20:05Srt Hex: 082b
2024-03-05 12:20:05Parse Int: 0
2024-03-05 12:20:06Srt Hex: 0861
2024-03-05 12:20:06Parse Int: 0
2024-03-05 12:20:07Srt Hex: 0896
2024-03-05 12:20:07Parse Int: 0
2024-03-05 12:20:08Srt Hex: 08cd
2024-03-05 12:20:08Parse Int: 0
2024-03-05 12:20:09Srt Hex: 0908
2024-03-05 12:20:09Parse Int: 0
2024-03-05 12:20:10Srt Hex: 0939
2024-03-05 12:20:10Parse Int: 0
2024-03-05 12:20:11Srt Hex: 096e
2024-03-05 12:20:11Parse Int: 0
2024-03-05 12:20:12Srt Hex: 09a5
2024-03-05 12:20:12Parse Int: 0
2024-03-05 12:20:13Srt Hex: 09db
2024-03-05 12:20:13Parse Int: 0
2024-03-05 12:20:14Srt Hex: 0a12
2024-03-05 12:20:14Parse Int: 2578
2024-03-05 12:20:15Srt Hex: 0a47
2024-03-05 12:20:15Parse Int: 2631
2024-03-05 12:20:16Srt Hex: 0a7e
2024-03-05 12:20:16Parse Int: 2686
2024-03-05 12:20:17Srt Hex: 0ab5
2024-03-05 12:20:17Parse Int: 2741
2024-03-05 12:20:18Srt Hex: 0aec
2024-03-05 12:20:18Parse Int: 2796
2024-03-05 12:20:19Srt Hex: 0b23
2024-03-05 12:20:19Parse Int: 2851
2024-03-05 12:20:20Srt Hex: 0b58
2024-03-05 12:20:20Parse Int: 2904
2024-03-05 12:20:21Srt Hex: 0b8e
2024-03-05 12:20:21Parse Int: 2958
2024-03-05 12:20:22Srt Hex: 0bc5
2024-03-05 12:20:22Parse Int: 3013
2024-03-05 12:20:23Srt Hex: 0bfc
2024-03-05 12:20:23Parse Int: 3068
2024-03-05 12:20:24Srt Hex: 0c2b
2024-03-05 12:20:24Parse Int: 3115

Старая нотация parseInt рекомендует перед хексом вставлять ‘0x’ или ‘0X’.

Добрый день.
В wb-rules используется стандарт ECMAScript 5.
Строки, начинающиеся с 0 интерпретируются как восьмиричные.
В восьмириной системе исчисления есть только числа 0…7.
Соответственно в строках 0169 и 016a, например, имеются символы 9 и a, которых нет в восьмиричной системе исчисления, соответственно результат будет один и тот же — 14.
Как посоветовали выше — явно укажите шестнадцатиричный формат, добавив к строке префикс 0x.

1 Like