在 Unity C# 中乘以 ToString 值
Multiplying the ToString value in Unity C#
我创建了一个代码,用于获取本地比例值并将其转换为字符串。据推测,它应该通过将其乘以 10 来将其测量单位更改为厘米。问题是,尝试将字符串中的值相乘是行不通的,因为它毕竟是一个字符串。我还计划尝试将其转换为字符串,但不幸的是我变得更加困惑。有没有什么方法可以 add/subtract/multiply 我已经转换成字符串的 localscale 值?这是我没有公式的原始代码。
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);
}
}
您需要先将其转换回数字 Type
。
尝试:
float.Parse(transform.localScale.x.ToString()) *= 10f;
或者,如果您想要实现的是将其相乘,然后然后将其转换为字符串,您可以尝试:
(transform.localScale.x * 10f).ToString();
我创建了一个代码,用于获取本地比例值并将其转换为字符串。据推测,它应该通过将其乘以 10 来将其测量单位更改为厘米。问题是,尝试将字符串中的值相乘是行不通的,因为它毕竟是一个字符串。我还计划尝试将其转换为字符串,但不幸的是我变得更加困惑。有没有什么方法可以 add/subtract/multiply 我已经转换成字符串的 localscale 值?这是我没有公式的原始代码。
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);
}
}
您需要先将其转换回数字 Type
。
尝试:
float.Parse(transform.localScale.x.ToString()) *= 10f;
或者,如果您想要实现的是将其相乘,然后然后将其转换为字符串,您可以尝试:
(transform.localScale.x * 10f).ToString();