2014-10-06 31 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