我有 TMPro 输入字段,只想输入十进制数字。在 PC 上我需要按逗号分隔,点不起作用。我的手机不支持仅逗号点,所以我只能输入整数。
我使用的唯一代码如下:
但这不是问题。我任何时候都不会更改输入字段中的文本。我刚读完。
在检查器中,我将内容类型从标准更改为十进制数字。
我在这里链接了一张图片,因为我无法发布自己的图片(我需要更多声誉)。
我尝试在构建之前更改PC语言,但这不起作用,我仍然需要输入逗号。我尝试用点替换逗号。这也不起作用,Unity 正在删除 OnValueChanged 事件之前的点。有什么方法可以更改分隔字符或将其设置为默认指向吗?
当输入字段被编辑时,如果输入的文本对应于十进制,你不能检查一下吗?
public InputField inputField;
public List<string> supportedCharacters = new List<string>(){"1","2","3",".",","};//Fill here your characters
public void Start() //Call a function whenever the input field is edited
{
mainInputField.onValueChanged.AddListener(delegate {ValueChangeCheck(); });
}
//
public void ValueChangeCheck() //Called when the value changed
{
foreach(string character in mainInputField.text){
if(!supportedCharacters.Contains(character))
{//Do sthg to delete the uncorrect character}
}
}
这将使您能够更好地控制可以输入和不能输入的内容。