Saturday, January 18, 2025

[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') }}"

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories