2014-10-06 25 views
0

我試圖做一個遊戲與整體和c#這是關於數字。如何編碼公制前綴(千,兆,千兆等)並對它們進行計算?

但是我需要龐大的數字(千,萬,GIGA等)

我做了這樣的事情到現在公制前綴:

normal += 9; 
    if(normal >= 999) 
    { 
    normal = 0; 
    kilo += 1; 
    } 
    if(kilo >= 999) 
    { 
    kilo = 0; 
    mega += 1; 
    } 

但我面臨的一個問題是,當數字去981 990 999正常數重置,而不是1008

也如何計算前綴?

編輯#1:

我有對象(團結)當我在對象「ASDASD」點擊我得到的錢,當我在對象點擊「QQQ」我買的東西

這段代碼對於ASDASD

public float normal; 
    public float kilo; 
    public float mega; 
    public float x; 

    public GUIText Displayer; 



    void Start() 
    { 



    } 

    void OnMouseDown() 
    { 

     if (gameObject.name=="ASDASD") 
     { 
     normal =normal + 90000; 

     if(normal > 99999) 
     { 

      x=normal-100000; 

      normal = 0; 

      kilo = kilo + 1 + x/100000f; 


     } 
     } 
    } 


    void Update() 

    { 

     if (kilo==0) 

      Displayer.text = "" + normal.ToString("n0"); 

     else if (kilo >=1) 

      Displayer.text="" + (kilo*100+normal/1000).ToString("n0") + "K"; 




    } 
} 

現在我該怎麼辦第二目標代碼? (買東西)

+0

那麼'981990999'作爲輸入的預期結果是什麼? – zerkms 2014-10-06 02:14:06

+0

變量'normal','kilo'和'mega'分別代表什麼?最初如何設置「正常」?你想用這些做什麼計算?你能否提供更多的上下文,並提供**完整的代碼示例,以便我們自己編譯和運行? – 2014-10-06 02:16:17

+0

981兆或982兆(其中之一是我想要的) – Forenkazan 2014-10-06 02:16:35

回答

0

我想你選擇了一個錯誤的方式。您應該有一個價格變量和一個函數來將其轉換爲文本表示。 Answer for that