使用InputField时处理输入的数字型字符串千分位自动添加逗号,且自动保留两位有效数字
输入:123 输出:123.00
输入:12345 输出:12,345.00
代码非常简单
- using UnityEngine;
- using TMPro;
-
- public class NumberFormatter : MonoBehaviour
- {
- private TMP_InputField inputField;
-
- private void Start()
- {
- inputField = GetComponent
(); - inputField.onEndEdit.AddListener(FormatNumber);
- }
-
- private void FormatNumber(string value)
- {
- if (!string.IsNullOrEmpty(value) && double.TryParse(value, out double number))
- {
- inputField.text = number.ToString("#,##0.00");
- }
- }
- }
固定的格式化字符串“#,##0.00”是一种常用的数字格式化模式,其含义如下:
“#”代表数字占位符,表示位置上可能是数字,如果没有数字则不显示。
“,”表示千分位符号,用来为数字添加逗号分隔符。
“0”表示必须有数字占位符,如果没有数字则显示为零。
“.”表示小数点。
“00”表示固定保留两位小数。
因此,当使用这种格式化字符串时,数字将按照每三位添加一个逗号的千分位分隔符,并且始终保留两位小数。这种格式化字符串通常用于显示货币、数字金额或其他需要固定小数位数和千分位分隔符的情况。