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"表示固定保留两位小数。

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

相关推荐
NRatel8 小时前
Unity游戏打包——iOS打包pod的重装和使用
游戏·unity·ios·打包
SmalBox14 小时前
【渲染管线】UnityURP[渲染顺序]与[层级]
unity·渲染
NRatel19 小时前
Unity游戏打包——打包常见报错(含Android、iOS)
游戏·unity·游戏引擎
SmalBox2 天前
【渲染管线】UnityURP中[渲染路径]选择‌
unity·渲染
陈小峰_iefreer2 天前
使用Stone 3D快速制作第一人称视角在线小游戏
游戏引擎·元宇宙·three.js·web3d
Glunn2 天前
记住密码管理器
unity
17岁的勇气2 天前
Unity Shader unity文档学习笔记(二十一):几种草体的实现方式(透明度剔除,GPU Instaning, 曲面细分+几何着色器实现)
笔记·学习·unity
EQ-雪梨蛋花汤2 天前
【Unity&AS】Unity & Android Studio 联合开发快速入门:环境配置、AAR 集成与双向调用教程
unity·游戏引擎·android studio
Glunn3 天前
UI弹出动画
ui·unity
淡海水3 天前
【URP】Unity Shader Tags
unity·游戏引擎·渲染·shader·tag·urp