1. 程式人生 > >Unity,C# float轉String如何保留實際小數位數,即防止精度丟失擷取字串報錯

Unity,C# float轉String如何保留實際小數位數,即防止精度丟失擷取字串報錯

比如一個float a = 329.0; 轉成String,要讓a顯示成329.0;如果a = 329.000,轉成String 顯示成329.000

可是實際卻不是這樣的

a.ToString()直接變成329

所以碰到這種情況怎麼辦呢

一.

string Data = a.ToString();

if (Data.Split('.').Length == 1) Data +=".000";

else Data = Data.Split('.')[0]+'.'+Data.Split('.')[1].PadRight(3,'0');  //三為精度。

二.直接try,catch程式碼,新增上0即可

void Update(){

    timeText+=Time.deltaTime

}

try    {       timeText.text = timeFraction.ToString().Substring(0, 7) + "秒";    }       catch (Exception)    {

      timeText.text = (timeFraction.ToString() + "000").Substring(0, 7) + "秒";    }