Просто используйте префикс + :
say +"42"; # 42 (Int)
say +"0x42"; # 66 (Int)
say +"42.123456789123456789"; # 42.123456789123456789 (Rat)
say +"42.4e2"; # 4240 (Rat)
say +"42.4e-2"; # 0.424 (Rat)
val Str рутина делает именно то, что вы (I) хотите.
Остерегайтесь того, что она возвращает объект Allomorph . Используйте unival или просто + префикс , чтобы преобразовать его в Число
Отредактировано благодаря комментарию @Holli