科学计数法的坑爹

在测试账号中存在几亿亿的金币的时候c#会把普通计数法转成科学计数法 (9.22337203452387E+18  string类型) 比如这么大一个数字肿么办 只能使用下面的代码了


先利用 Convert.ToDecimal(Decimal.Parse(strData.ToString(), System.Globalization.NumberStyles.Float)); --strData 要转换的字符--   转换为Decimal格式 再.ToString() 转换为string就行了

代码如下(百度后改进的....无耻一次)


 private Decimal ChangeDataToD(string strData)
    {
        Decimal dData = 0.0M;
        if (strData.Contains("E"))
        {
            dData = Convert.ToDecimal(Decimal.Parse(strData.ToString(), System.Globalization.NumberStyles.Float));
           
        }
        else
        {
            dData = Decimal.Parse(strData);
        }
        return dData;
        
    }

最后和大家说下 unity中的类型转换常见的一个错误  带有Input 和Format 字眼的错误就是类型转换的错误 一般建议使用System下的 Convert去转换。 

 广告 ----------------------------------Q群479853988---------------------IT技术群----------缺AMF和 protobuf  数据结构的大神 求加入






你可能感兴趣的:(原创unityc#编程)