App Inventor 2 — Разделение чисел

В моем приложении у меня будет несколько строк чисел длиной от 4 до 10 символов. Как бы я разделял сгенерированные числа каждые 3 числа (в тысячах, миллионах, миллиардах).

Я не буду знать длину чисел заранее, поэтому одна и та же метка .text иногда может быть длиннее или короче.

например от 1234567 12345 1234567890

to 1,234,567 12,345 1,234,567,890

Разделителями могут быть пробел, точка или запятая (подойдет любой). Я хорошо знаком с AI2, но не могу понять этого.

РЕДАКТИРОВАТЬ: Кажется, мне удалось сегментировать текст (ура!) введите здесь описание изображения

Что мне теперь делать, если у меня есть, скажем, 10 этикеток разной длины? Было бы крайне избыточно проверять длину каждой метки с помощью if, а затем сегментировать ее с помощью соответствующей опции длины. Есть ли способ сократить процесс?

Большое спасибо :)


person eeffoc    schedule 06.10.2014    source источник


Ответы (1)


Вы можете написать свою собственную процедуру, например см. следующий пример App Inventor Classic. , в котором используется цикл for range:

Алгоритм работает следующим образом (example=2134256):
результат после первого цикла: ,256
результат после второго цикла: ,134,256
затем добавить оставшиеся цифры числа, в данном случае 2
, дают в конце: 2 134 256

Y

Изменить: для App Inventor 2 также необходимо использовать файл procedure with result. Также позвольте мне порекомендовать использовать локальную переменную result вместо глобальной переменной.

введите здесь описание изображения

person Taifun    schedule 06.10.2014
comment
Большое спасибо за ваш ответ, Тайфун, поскольку пример находится в AI Classic, я столкнулся с проблемой при преобразовании в AI2. Когда я использую стандартную процедуру, я не могу получить никакого результата в конце, с другой стороны, когда я использую процедуру с результатом, я действительно не знаю, как разместить блок for each. Как мне обойти, чтобы получить результат? Скриншот - person eeffoc; 07.10.2014
comment
Спасибо большое, теперь работает идеально! Вот СКРИНШОТ финальных блоков в AI2, поскольку кто-то может найти его полезным в будущем (а также если вы хотите обновить учебник до версии AI2). - person eeffoc; 08.10.2014