文本以指数形式显示大数字
Text shows big numbers in exponential form
我有一个带滑块的简单消息框。滑块控制显示的数字。数字会变得相当大。当他们这样做时,Text
组件以标准形式显示它(见下文)。
如何阻止它这样做?
编辑:
假设最大数量可以达到 100 千万亿 (100000000000000000)
文本的设置方式:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.Events;
public class SliderMessageBox : MonoBehaviour
{
public Slider SliderObject;
public Text SliderFeedback;
public void Function(Long MaximumValue)
{
SliderObject.minValue = 1000;
SliderObject.maxValue = MaximumValue;
SliderObject.onValueChanged.AddListener(SetFeedback);
SetFeedback(SliderObject.value);
}
void SetFeedback(float value)
{
SliderFeedback.text = value.ToString();
}
}
public 参数是通过检查器设置的。这不是全部class,只是关于反馈的部分(稍微修改一下就明白了。)
问题来自 code.You 的 value.ToString()
行可以提供 value.ToString();
函数参数使用哪种格式,该格式将用于将 float 转换为 string
.由于这是一个很大的float
,你失去了精度。
获得像40797490000000000
这样的完整价值
SliderFeedback.text = value.ToString("#");
获取 42,225,940,000,000,000
格式的值
SliderFeedback.text = value.ToString("#,#");
您也可以使用 N
(value.ToString("N1");
)。包括小数位。 N2
表示小数点后 2 位,N3
表示小数点后 3 位...这也可以用 #.##
代替。有关标准数字格式字符串的更多信息,请访问 here。
我有一个带滑块的简单消息框。滑块控制显示的数字。数字会变得相当大。当他们这样做时,Text
组件以标准形式显示它(见下文)。
如何阻止它这样做?
编辑:
假设最大数量可以达到 100 千万亿 (100000000000000000)
文本的设置方式:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.Events;
public class SliderMessageBox : MonoBehaviour
{
public Slider SliderObject;
public Text SliderFeedback;
public void Function(Long MaximumValue)
{
SliderObject.minValue = 1000;
SliderObject.maxValue = MaximumValue;
SliderObject.onValueChanged.AddListener(SetFeedback);
SetFeedback(SliderObject.value);
}
void SetFeedback(float value)
{
SliderFeedback.text = value.ToString();
}
}
public 参数是通过检查器设置的。这不是全部class,只是关于反馈的部分(稍微修改一下就明白了。)
问题来自 code.You 的 value.ToString()
行可以提供 value.ToString();
函数参数使用哪种格式,该格式将用于将 float 转换为 string
.由于这是一个很大的float
,你失去了精度。
获得像40797490000000000
SliderFeedback.text = value.ToString("#");
获取 42,225,940,000,000,000
格式的值
SliderFeedback.text = value.ToString("#,#");
您也可以使用 N
(value.ToString("N1");
)。包括小数位。 N2
表示小数点后 2 位,N3
表示小数点后 3 位...这也可以用 #.##
代替。有关标准数字格式字符串的更多信息,请访问 here。