• C# 科学计数法转换成数字


         /// <summary>
            /// 判断输入的数是否是科学计数法。如果是的话,就会将其换算成整数并且返回,否则就返回false。
            /// </summary>
            /// <param name="num"></param>
            /// <param name="CompleteNum"></param>
            /// <returns></returns>
            private bool ChkNum(string num, ref decimal CompleteNum)
            {
                bool result = false;
                bool resultSymbol = num.Contains("*");
                bool result0 = num.Contains("^");
                if ((resultSymbol == true) && (result0 == true))
                { //当数字中有*和^的时候,进行下面的判断
                    int IntSymbol = num.IndexOf("*");
                    int Symbol0 = num.IndexOf("^");
                    if (((Symbol0 - IntSymbol) == 3))
                    {//当*在^前面的时候
                        string numA = num.Substring(0, IntSymbol);//截取*号前面的数字(基数);
                        string numB = num.Substring(IntSymbol+1, Symbol0 - IntSymbol-1);//截取10;
                        string numC = num.Substring(Symbol0+1, num.Length - Symbol0-1);//获得幂次数
                        Regex regNum0 = new Regex(@"^(-|+)?d+(.d+)?$");
                        Regex regNum2 = new Regex(@"^-[1-9]d*$|^[1-9]d*$");
                        if ((regNum0.IsMatch(numA)) && (numB == "10") && (regNum2.IsMatch(numC)))
                        {
                            decimal dcNumA;
                            decimal.TryParse(numA,out dcNumA);
                            decimal dcNumC;
                            decimal.TryParse(numC, out dcNumC);//将幂次数转换成decimal类型
                            decimal zhengshu = 10;
                            if (dcNumC > 0)
                            {//当幂次数为整数的时候
                                for (int i = 0; i < dcNumC - 1; i++)
                                {
                                    zhengshu *= 10;
                                }
                            }
                            else
                            {//当幂次数为负数的时候
                                for (int i = 0; i < Math.Abs(dcNumC) + 1; i++) 
                                {
                                    zhengshu /= 10;
                                }
                            }
                            CompleteNum = dcNumA * zhengshu;
                            result = true;
                        }
                        else
                        {
                            result = false;
                        }
                    }
                    else
                    {
                        result = false;
                    }
                }
                else
                {
                    result = false;
                }
                return result;
            }
  • 相关阅读:
    LeetCode(35):Palindrome Number 分类: leetCode 2015-07-10 09:26 161人阅读 评论(0) 收藏
    在pycharm进行单元测试(unittest python)
    Django 基本操作
    Django中数据库操作相关的错误
    Question&&Answer
    ubuntu下 SVN 服务器搭建及使用
    python 在不同层级目录import 模块的方法
    Ubuntu 16.04安装PyCharm
    修改mysql中数据库存储主路径
    查看mysql的数据库物理存放位置
  • 原文地址:https://www.cnblogs.com/vichin/p/6113999.html
Copyright © 2020-2023  润新知