Умножение значения ToString в Unity C#

Я создал код, который получает значение localscale и преобразует его в строку. Предположительно, он должен изменить свою единицу измерения на сантиметры, умножив их на 10. Проблема в том, что попытка умножить значение в строке не работает, поскольку это, в конце концов, строка. Я также планировал попытаться преобразовать его в строку, но, к сожалению, вместо этого я запутался. Есть ли способы добавить/вычесть/умножить значение локального масштаба, которое я преобразовал в строку? Вот мой ванильный код без формул.

 using UnityEngine;
 using System.Collections;
 using UnityEngine.UI;

 public class ScaleSlider : MonoBehaviour {

     public Slider sliderLength;
     public Slider sliderWidth;
     public Slider sliderHeight;
     public Text textLength;
     public Text textWidth;
     public Text textHeight;

     // Use this for initialization
     void Start () {
         sliderWidth.value = 1f;
         sliderLength.value = 1f;
         sliderHeight.value = 1f;
     }

     void Update () {
         textLength.text = transform.localScale.x.ToString();
         textWidth.text = transform.localScale.y.ToString();
         textHeight.text = transform.localScale.z.ToString();
         transform.localScale = new Vector3(sliderLength.value*1, sliderWidth.value*1, sliderHeight.value*1);

     }

 }

person Rafael Diaz    schedule 22.11.2016    source источник
comment
Вы имеете в виду: (transform.localScale.x * 10).ToString(); ?   -  person RvdK    schedule 22.11.2016
comment
Спасибо рвдк. Определенно то, что мне было нужно :) к сожалению, я не могу проголосовать за ваш комментарий как за ответ.   -  person Rafael Diaz    schedule 24.11.2016


Ответы (1)


Сначала вам нужно будет преобразовать его обратно в числовое Type. Пытаться:

float.Parse(transform.localScale.x.ToString()) *= 10f;

Или, если вы пытаетесь умножить его и затем преобразовать в строку, вы можете попробовать:

(transform.localScale.x * 10f).ToString();
person Persistence    schedule 22.11.2016