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

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

相关推荐
星夜泊客2 小时前
[特殊字符] Unity 对象判空机制混乱原因总结(上篇)
unity·游戏引擎
应用市场11 小时前
Godot C++开发指南:正确获取节点的Forward/Up/Right方向向量
c++·游戏引擎·godot
小南家的青蛙12 小时前
O3DE社区发布2510.0版本
游戏引擎·图形引擎
神码编程1 天前
【Unity】HTModuleManager(三)Markdown语法的Unity编辑器方言
unity·markdown·模块管理器
井队Tell1 天前
打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第十二天)
学习·3d·unity
PerfumerKarma2 天前
【渲染引擎基础】圣杯架构——固定逻辑时长+插值渲染
架构·游戏引擎
地狱为王2 天前
Unity使用AnimeGANv3实现动漫风格化效果(二)
unity·游戏引擎
fcm192 天前
unity之线框模式
unity·游戏引擎
unity工具人2 天前
unity DoTween DoPath设置物体按照指定轨迹运动
unity·游戏引擎
程序猿阿伟2 天前
《风格锚点+动态适配:Unity跨设备渲染的核心逻辑》
unity·游戏引擎