Разделение между двумя значениями текстового поля пользовательского интерфейса в UNITY - PullRequest
0 голосов
/ 22 января 2019

Есть два текстовых поля пользовательского интерфейса с числовыми значениями.У меня также есть кнопка.

Как мне сделать что-то вроде этого:

После нажатия кнопки:

  1. Отклонить значение Textfield1 на 10
  2. TextField2 получает значение Textfield1

Большое спасибо

1 Ответ

0 голосов
/ 22 января 2019

Вы можете просто получить text значение InputField

public class Example : MonoBehaviour
{
    // Reference those in the inspector via drag and drop
    public InputField Textfield1;
    public InputField Textfield2;

    public void DevideByTen()
    {
        float num1;

        // Tries to parse the inserted string value into a float value
        // if wrong input or bad format this returns 0 instead of throwing an exception
        float.TryParse(Textfield1.text, num1);

        // if instead you prefer to explicitly throw an exception 
        // you could do something like
        try
        {
            num1 = float.Parse(Textfield1.text);
        }
        catch(Exception e)
        {
            Debug.LogWarningFormat(this, "Could not parse input: \"{0}\"", Textfield1.text);
            Debug.LogException(e);
            return;
        }

        // Devide by 10
        var devided = num1 / 10.0f;

        // Set the result of the deviding as text to Textfield2
        Textfield2.text = devided.ToString();
    }
}

В кнопках onClick ссылаться на метод DevideByTen (или как вы хотитеназовите это).


Обратите внимание, что в ToString() вы также можете передать правило, как должно отображаться число.скажем

float num1 = 1.12344;

чем, например,

num1.ToString("00.00")   =>  "01.12"
num1.ToString("##.###")  =>  "1.123"
num1.ToString("P")       =>  "112.34 %"
...

См., например, ToString (строка) для получения дополнительной информации об этом и Стандартные строки числового формата полный список доступных стандартных значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...