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

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

相关推荐
污领巾1 小时前
虚幻GAS底层原理解剖一(开篇)
游戏引擎·虚幻
污领巾1 小时前
虚幻GAS底层原理解剖三 (GA)
java·游戏引擎·虚幻
伽蓝_游戏6 小时前
Unity UI的未来之路:从UGUI到UI Toolkit的架构演进与特性剖析(7)
游戏·ui·unity·架构·c#·游戏引擎·.net
BuHuaX19 小时前
Unity_数据持久化_IXmlSerializable接口
xml·unity·c#·游戏引擎·游戏策划
lihongli00019 小时前
消息系统技术文档
网络·unity·游戏引擎
Edision_li1 天前
基于Mediapipe_Unity_Plugin实现手势识别
unity·游戏引擎·unity 手势识别
与火星的孩子对话1 天前
Unity Shader编程完全入门指南:从零到实战 C# 实战案例
unity·c#·游戏引擎
谷宇.1 天前
【Unity3D实例-功能-镜头】第三人称视觉
游戏·unity·unity3d·游戏开发·游戏编程·steam
两水先木示1 天前
【Unity3D】Shader圆形弧度裁剪
unity·shader·圆形裁剪·弧度裁剪
深海潜水员2 天前
【Unity】背包系统 + 物品管理窗口 (上)
开发语言·vscode·游戏·unity·c#·游戏引擎