Как проверить длину номера в JRules

Я новичок в кодировании JRules. Это может выглядеть как простой вопрос. Я хотел бы проверить длину числа в коде JRules. Как написать код для этого. Фраза "длина" ожидает строку. Я пытался использовать toString() для преобразования числа в строку. Но это не работает. Пожалуйста, дайте некоторую идею.

2 ответа

Решение

Вы можете сделать это разными способами, совсем как в Риме.:)

1 / В вашей Java:

public static int getIntLength(final int myLovelyNumber) {
    return (new Integer(myLovelyNumber)).toString().length();
}

Затем вы добавляете эту прекрасную функцию в свою спецификацию и произносите ее словесно. Лично я бы создал отдельную библиотеку для таких помощников. Обновление сделает свое дело.

2 / В вашей спецификации:

Я буду считать, что вы начинаете с нуля
a / Создайте "виртуальный" объект в вашей спецификации (лично я бы создал отдельную спецификацию для "виртуальных" объектов) и установите для "имени выполнения" (или чего-то подобного) значение java.lang.object.
b/ создать "виртуальный" статический метод в "виртуальном" объекте с одним параметром: целое число, возвращающее a: int
c / в B2X вашего нового "виртуального" метода добавьте:
return param.toString (). length ();
д / вербализировать метод

Конечно, вам нужно проверить нулевое значение в Java или B2X.

Это основные способы сделать это. Можно найти более хитрые способы, но для новичка (или нет) это хороший подход. Надеюсь, поможет.

PS: Если вас это устраивает, отметьте ответ как правильный:)

А как насчет негативов? Ваше решение будет считать "-" как существенное значение.

Так что часть (1) должна быть...

public static int getIntLength(final int myLovelyNumber) {
    return (Integer.valueOf(Math.abs(myLovelyNumber))).toString().length();
}

Также int не может быть нулевым. Когда вы придете, чтобы проверить это, он будет нулевым.

Другие вопросы по тегам