Unity 数字字符串逗号千分位

使用InputField时处理输入的数字型字符串千分位自动添加逗号,且自动保留两位有效数字

输入:123 输出:123.00

输入:12345 输出:12,345.00

代码非常简单

cs 复制代码
using UnityEngine;
using TMPro;

public class NumberFormatter : MonoBehaviour
{
    private TMP_InputField inputField;

    private void Start()
    {
        inputField = GetComponent<TMP_InputField>();
        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"表示固定保留两位小数。

因此,当使用这种格式化字符串时,数字将按照每三位添加一个逗号的千分位分隔符,并且始终保留两位小数。这种格式化字符串通常用于显示货币、数字金额或其他需要固定小数位数和千分位分隔符的情况。

相关推荐
mxwin12 小时前
Unity Shader FLOWMAP岩浆流动制作案例
unity·游戏引擎·shader·uv
小贺儿开发12 小时前
【Arduino与Unity交互探究】01 摇杆模块
科技·unity·游戏引擎·arduino·串口通信·摇杆·硬件交互
Yasin Chen14 小时前
Unity TMP_SDF 分析(三)顶点着色器1
unity·游戏引擎·着色器
mxwin14 小时前
Unity Shader 使用 Noise 图 制作Shader 溶解效果
unity·游戏引擎
mxwin16 小时前
Unity Shader 用 Ramp 贴图实现薄膜干涉效果
unity·游戏引擎·贴图·shader·uv
魔士于安17 小时前
Unity星球资源,八大星球,带fps显示
游戏·unity·游戏引擎·贴图·模型
张老师带你学18 小时前
unity资源,深空陨石,适合太空背景的游戏开发
游戏·unity·模型
鹿野素材屋20 小时前
Unity动画幅度太大怎么办
unity·游戏引擎
垂葛酒肝汤21 小时前
Unity Sprite Rect 越界问题笔记
笔记·unity·游戏引擎
平行云1 天前
数字孪生信创云渲染系列(一):混合信创与全国产化架构
unity·ue5·3dsmax·webgl·gpu算力·实时云渲染·像素流送