Files
2024-05-26 20:35:16 +08:00

2.6 KiB

Documentation

该节点抽象了将文本数据转换为数值的过程,便于分析和处理基于文本的信息。它强调将输入文本转换为数值表示,这可以进一步用于各种计算任务。

Input types

Required

  • text
    • 文本参数至关重要,因为它作为提取数值的来源。文本的质量和内容直接影响节点的输出。
    • Comfy dtype: STRING
    • Python dtype: str
  • random_number
    • 该参数决定了在从文本中提取数值后是否应用随机数生成过程,为结果增加了变化性。
    • Comfy dtype: COMBO
    • Python dtype: str
  • max_num
    • max_num参数设置了随机数生成的上限,确保生成的数字保持在指定的范围内。
    • Comfy dtype: INT
    • Python dtype: int

Optional

  • seed
    • seed参数对于确保随机数生成过程的可重复性至关重要,允许在相同条件下获得一致的结果。
    • Comfy dtype: INT
    • Python dtype: int

Output types

  • ui.text
    • 此输出包含原始文本输入,为了参考和上下文而保留,这对于理解数值结果的起源很重要。
    • Comfy dtype: STRING
    • Python dtype: List[str]
  • ui.num
    • ui.num输出代表从文本中提取的数值或随机数生成的结果,这是节点的主要输出,对后续计算至关重要。
    • Comfy dtype: INT
    • Python dtype: List[int]
  • result
    • 结果输出是最终的数值,它是节点处理的结晶,对于进一步的分析或操作至关重要。
    • Comfy dtype: INT
    • Python dtype: Tuple[int]

Usage tips

  • Infra type: CPU

Source code

class TextToNumber:

    @classmethod
    def INPUT_TYPES(s):
        return {'required': {'text': ('STRING', {'multiline': False, 'default': '1'}), 'random_number': (['enable', 'disable'],), 'max_num': ('INT', {'default': 10, 'min': 2, 'max': 10000000000, 'step': 1, 'display': 'number'})}, 'optional': {'seed': (any_type, {'default': 0, 'min': 0, 'max': 18446744073709551615})}}
    RETURN_TYPES = ('INT',)
    FUNCTION = 'run'
    CATEGORY = '♾️Mixlab/Utils'
    INPUT_IS_LIST = False
    OUTPUT_IS_LIST = (False,)

    def run(self, text, random_number, max_num, seed=0):
        numbers = re.findall('\\d+', text)
        result = 0
        for n in numbers:
            result = int(n)
        if random_number == 'enable' and result > 0:
            result = random.randint(1, max_num)
        return {'ui': {'text': [text], 'num': [result]}, 'result': (result,)}