2016-08-28 5 views
0

슬라이더가있는 간단한 메시지 상자가 있습니다. 슬라이더가 표시된 번호를 제어합니다. 숫자가 상당히 커질 수 있습니다. 그들은 Text 구성 요소를 사용하여 표준 형식으로 표시합니다 (아래 참조).텍스트에 큰 숫자가 지수 형태로 표시됩니다.

Text shows 4.0E+14

나는 그 일에서 어떻게 중지합니까?

편집 : 공공 매개 변수가로 설정되어

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(); 
    } 
} 

:

가의 최대 수는 최대 100 천조의 텍스트를 설정하는 방법 (100000000000000000)

이 될 수 있다고 가정 해 봅시다 검사관. 이것은, 피드백 관련된 부분 만 전체 클래스없는 (그리고 의미를 수정 조금합니다.)

+0

슬라이더에 의해 생성 된 범위 값은 무엇이며 슬라이더 값을 텍스트로 설정하는 방법에 대한 코드 조각을 포함하십시오. – Programmer

+0

슬라이더의 최소 및 최대 값과 기본값은 무엇입니까? – Programmer

+0

@Programmer 최소값의 '1000'은 최대 값이 다릅니다. '100 Quad'까지 걸릴 수 있습니다. 기본값은 실제로'Value'입니다. –

답변

1

문제는 value.ToString();에 사용할 형식을 제공 할 수 code.You의 value.ToString() 줄에서입니다 함수 매개 변수와 그 형식은 float을 string으로 변환하는 데 사용됩니다. 이 값은 float이므로 정밀도가 떨어집니다.

는 또한 N ( value.ToString("N1");)를 사용할 수 있습니다 42,225,940,000,000,000 형식

SliderFeedback.text = value.ToString("#,#"); 

의 값을 가져 40797490000000000

SliderFeedback.text = value.ToString("#"); 

같은 가치를 얻으려면. 소수 자릿수를 포함합니다. 소수 자릿수 2 개는 N2, 소수 자릿수는 N3 ... 이것은 또한 #.##이 아닙니다. 표준 숫자 형식 문자열에 대한 자세한 내용은 here을 참조하십시오.

관련 문제