No menu items!
No menu items!
More

    [Ansible] Ép từ số sang chuỗi và ngược lại

    Chúng ta có thể phải ép kiểu dữ liệu trong các trường hợp sau:

    • Để đảm bảo tính toàn vẹn của dữ liệu: Khi giao tiếp giữa các ứng dụng, đôi khi có thể xảy ra tình huống mà định dạng dữ liệu không đồng nhất, ví dụ như một ứng dụng yêu cầu số nguyên từ một ứng dụng khác nhưng nhận được một chuỗi. Khi đó, ta cần ép kiểu dữ liệu để đảm bảo tính toàn vẹn của dữ liệu.
    • Để thực hiện các phép toán hoặc xử lý dữ liệu: Một số toán tử chỉ hoạt động trên một loại dữ liệu nhất định, ví dụ như phép cộng chỉ hoạt động trên các số. Khi đó, ta cần ép kiểu dữ liệu để thực hiện các phép toán hoặc xử lý dữ liệu.
    • Để đáp ứng yêu cầu của hệ thống: Khi lập trình, ta có thể phải đáp ứng yêu cầu của hệ thống, ví dụ như đối với một biến mà hệ thống yêu cầu phải là một chuỗi nhưng dữ liệu đầu vào lại là một số. Khi đó, ta cần ép kiểu dữ liệu để đáp ứng yêu cầu của hệ thống.

    Chuyển số sang chuỗi:

    - name: Convert number to string
      set_fact:
        my_number: 123
        my_string: "{{ my_number | string }}"

    Chuyển chuỗi sang số:

    - name: Convert string to number
      set_fact:
        my_string: "456"
        my_number: "{{ my_string | int }}"

    Chuyển mảng thành chuỗi:

    - name: Convert list to string
      set_fact:
        my_list: ['a', 'b', 'c']
        my_string: "{{ my_list | join(',') }}"

    Chuyển chuỗi thành mảng:

    - name: Convert string to list
      set_fact:
        my_string: "a,b,c"
        my_list: "{{ my_string | split(',') }}"

    Ép kiểu dữ liệu với filter type_debug:

    - name: Convert variable type
      set_fact:
        my_var: "123"
        my_int: "{{ my_var | type_debug('int') }}"

    Bài viết gần đây

    spot_img

    Related Stories

    Leave A Reply

    Please enter your comment!
    Please enter your name here

    Đăng ký nhận thông tin bài viết qua email