K板篇,超级精简版,取消了一切花里胡哨的语法2020-11-16

直接判断是否符合要求,不符合要求的说明那里不符合要求,符合要求的进行计算,避免造成闪退情况

public static string[] K板核心算法(string K_编码, string K_数量)
        {
            //300K1500(忠旺体系的编码)
            //定义型材信息
            string[] 计算结果 = new string[6];//结果
            string[] 错误结果 = new string[1];//结果
            String[] K_无字母参数;
            String[] K_无数字参数;
            //判断编码和数量是否为空
            if (K_编码 != "" && K_数量 != "")
            {
                //去除编码中的符号和字母
                K_无字母参数 = K_编码.Split(new char[] { '-', 'P', 'J', 'Q', 'C', 'D', 'K', 'L', '/', '(', ')', 'A', 'B', 'E', 'F', 'G', 'H', 'I', 'J', 'M', 'N', 'O', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }, StringSplitOptions.RemoveEmptyEntries);
                //去除编码中的数字
                K_无数字参数 = K_编码.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.' }, StringSplitOptions.RemoveEmptyEntries);
                //去除编码中的空格,然后转化为string类型
                String LG_字符串 = String.Join("", K_无数字参数);

                switch (LG_字符串)
                {
                    case "K":
                        if (K_无字母参数.Length == 2 && float.Parse(K_无字母参数[0]) != 0 && float.Parse(K_无字母参数[1]) != 0)
                        {
                            if (float.Parse(K_无字母参数[0]) >= 150 && float.Parse(K_无字母参数[1]) >= 100)
                            {
                                计算结果[0] = "主型材: " + K_无字母参数[0] + "型材,长度:" + K_无字母参数[1];
                                计算结果[1] = "主型材数量: " + K_数量;
                                计算结果[2] = "封板: 60.5*" + (float.Parse(K_无字母参数[0]) - 16);//固定型材
                                计算结果[3] = "封板数量: " + int.Parse(K_数量) * 2;
                                if (float.Parse(K_无字母参数[1]) > 700)
                                {
                                    计算结果[4] = "加筋长度: " + (float.Parse(K_无字母参数[0]) - 16) + "共1件";
                                }
                                else
                                {
                                    计算结果[4] = "加筋: 无";
                                }
                                计算结果[5] = "模板信息: 正常K板";
                                return 计算结果;
                            }
                            else
                            {
                                错误结果[0] = "错误: 参数错误!";
                                return 错误结果;
                            }
                        }
                        else
                        {
                            错误结果[0] = "错误: 编码都不写完整,算你大爷!";
                            return 错误结果;
                        }
                    default:
                        错误结果[0] = "错误: 无效编码,请检查";
                        return 错误结果;
                }
            }
            else
            {
                if (K_编码 == "" && K_数量 == "")
                {
                    错误结果[0] = "错误: 编码数量都没有我算你妹?";
                }
                else if (K_编码 == "")
                {
                    错误结果[0] = "错误: 编码没有怎么算?";
                }
                else if (K_数量 == "")
                {
                    错误结果[0] = "错误: 数量没填我特么怎么算?";
                }
                return 错误结果;
            }
        }

结果:
模拟了清单可能造成的各种错误,都能识别出来


image.png

下一篇: 转角C槽算法,未完待续.........

你可能感兴趣的:(K板篇,超级精简版,取消了一切花里胡哨的语法2020-11-16)