科学计数法的坑爹

在测试账号中存在几亿亿的金币的时候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  数据结构的大神 求加入






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值