转换为货币

时间:2016-12-21 15:01:26

标签: c# unity3d

             public Text TimesText;
             public bool WonPanel = false;
             public int muliplyer = 0;
             public bool DoMulti = false;

             if(JsonData.won == 3){
                TimesText.text = JsonData.won + "x";
                muliplyer = 3;
                DoMulti = true;
            }else if(JsonData.won == 2){
                TimesText.text = JsonData.won + "x";
                muliplyer = 2;
                DoMulti = true;
            }else{
                string newMoney = string.Empty;
                int val;

                for(int x = 0; x < MoneyText.text.Length; x++){
                    if(Char.IsDigit(MoneyText.text[x])){
                                newMoney += MoneyText.text[x];
                        }
                }
                if(newMoney.Length > 0){
                    val = int.Parse(newMoney);
                }else{
                        val = 0;
                }
                if(DoMulti){
                    int MultiMoneyAmount = val + (JsonData.won * muliplyer);
                    MoneyText.text = MultiMoneyAmount.ToString();
                    DoMulti = false;
                    TimesText.text = "0x";
                }else{
                    int NewMoneyAmount = val + JsonData.won;
                    MoneyText.text = NewMoneyAmount.ToString();
                    DoMulti = false;
                    TimesText.text = "0x";
                }

这可能不是最好的方法,但JsonData.won是从我的服务器收到的,它是客户有机会获胜的。现在一切正常。他们遇到的唯一问题是MoneyText.Text是玩家获胜的总数,当我希望它显示"15"和{{"20"时显示"$0.15""$0.20 1}}“。现在我可以做到这一点,但是当他们赚得超过一美元时,我感到很困惑.100等于$1.00

1 个答案:

答案 0 :(得分:2)

Parse it as a decimal然后除以100(或任何适当的分数)。然后,出于显示目的,您可以添加所需的任何货币符号,千位分隔符等。