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