- Home /
Problem has disappeared since question was submitted
Input Field shortening string when used with Mathf.Clamp?
Hello, I am working on a project that has an input field used for numerical input. I'm having a problem where the input field is shortening the number string Mathf.Clamp is assigning to it.
Here's the function that runs OnEndEdit:
//Calculate the maximum amount of this item the user can buy
int maxAmount = currentMoney / itemPrice;
//Clamp the value they entered between 0 and the max
int newAmount = Mathf.Clamp(Convert.ToInt32(enteredNumber), 0, maxAmount);
Debug.Log(newAmount);
//Assign the newly clamped value
inputField.text = newAmount.ToString();
Based on the debug statement, newAmount is calculated correctly every time, but if Mathf.Clamp shortens it to three characters it keeps dropping the last character.
So for example:
Max value = 400 Player entered 500 Value is clamped to 400 Input Field has a value of 40 Max value = 400 Player entered 300 Value isn't clamped Input Field has a value of 300
The input field has its "Content Type" property set to "Integer Number", and the "Character Limit" is set at 3. I'm guessing the character limit has something to do with it, but that doesn't explain why it only has problems when the number is clamped. It also only has problems when the number is 3 characters (the limit). It never seems to have a problem with any number below 100.
I'm really stumped on this one and was wondering if anyone has encountered this or if it's a bug of some sort.
Oh, I'm using Unity 5.3.5.
Thanks.
Follow this Question
Related Questions
How do I get Input Fields to work with a controller? 0 Answers
Input Field caret position is wrong when I type Chineese using Win10 System IME. 1 Answer
Problem with UI input field in android 1 Answer
Issue-Bug with Japanese/Korean Language and Input Fields 0 Answers
adding a image inside of a muilti line Input Field? 0 Answers