using System; using System.Linq; using System.Collections.Generic; using System.Text; using INT_PT002.DataStore; namespace INT_PT002 { public class Helper { /// /// Double형을 String형으로 변환하여 리턴(소수점 자릿수에 맞춰 0을 채워서 리턴) /// /// Double형 데이터 /// 소수점 자릿수 /// String형 데이터 public static string DoubleToString(double value, int decimalPlaces) { if (decimalPlaces == 0) return string.Format("{0:F0}", value); else if (decimalPlaces == 1) return string.Format("{0:F1}", value); else if (decimalPlaces == 2) return string.Format("{0:F2}", value); else if (decimalPlaces == 3) return string.Format("{0:F3}", value); else if (decimalPlaces == 4) return string.Format("{0:F4}", value); else if (decimalPlaces == 5) return string.Format("{0:F5}", value); else if (decimalPlaces == 6) return string.Format("{0:F6}", value); else if (decimalPlaces == 7) return string.Format("{0:F7}", value); else return "0"; } /// /// 소수점 없는 String 값을 소수점 추가 후 String 값으로 리턴 /// /// 소수점이 없는 값 /// 소수점 자릿수 /// 소수점 자리 추가 데이터 public static string StringToDecimalPlaces(string value, int decimalPlaces) { string ret = ""; double dValue = 0.0; dValue = StringToDouble(value, decimalPlaces); ret = DoubleToString(dValue, decimalPlaces); return ret; } /// /// 소수점 없는 String형 값을 소수점 추가후 Double형으로 리턴(부호가 포함된 String형값) /// /// 소수점이 없는 값 /// 소수점 자릿수 /// Double형 소수점 추가 데이터 public static double StringToDouble(string value, int decimalPlaces) { double dValue = 0.0; string str = "", code = ""; StringBuilder sb = new StringBuilder(); sb.Append(value); try { if (sb.Length > 8) return 0.0; if (sb[0] == '-') { code = "-"; sb.Remove(0, 1); } str = sb.ToString(); str = str.Trim(); sb.Remove(0, sb.Length); sb.Append(str); for (int i = 0; i < decimalPlaces; i++) { if (sb.Length > decimalPlaces) break; sb.Insert(0, "0"); } sb.Insert(sb.Length - decimalPlaces, "."); str = sb.ToString(); str = code + str; dValue = double.Parse(str); return dValue; } catch { return 0.0; } } public static Define.E_ProcessStatus StringToProcessStatus(string value) { Define.E_ProcessStatus status; if (value.Length != 1) return Define.E_ProcessStatus._0_None; switch (value) { case "0": status = Define.E_ProcessStatus._1_Initial; break; case "1": status = Define.E_ProcessStatus._2_ProductEntry; break; case "2": status = Define.E_ProcessStatus._3_ChamberConbined; break; case "3": status = Define.E_ProcessStatus._4_VacuumStart; break; case "4": status = Define.E_ProcessStatus._5_VacuumHold; break; case "5": status = Define.E_ProcessStatus._6_Judgment; break; case "6": status = Define.E_ProcessStatus._7_VacuumBreak; break; case "7": status = Define.E_ProcessStatus._8_ChamberSeparation; break; case "8": status = Define.E_ProcessStatus._9_ProductRelease; break; default: status = Define.E_ProcessStatus._0_None; break; } return status; } public static Define.E_JudgmentStatus StringToJudgmentStatus(string value) { Define.E_JudgmentStatus status; if (value.Length != 1) return Define.E_JudgmentStatus.None; switch (value) { case "0": status = Define.E_JudgmentStatus.None; break; case "1": status = Define.E_JudgmentStatus.Pass; break; case "2": status = Define.E_JudgmentStatus.Ng; break; case "3": status = Define.E_JudgmentStatus.Error; break; default: status = Define.E_JudgmentStatus.None; break; } return status; } /// /// 2자리에 마춰 공백으로 채움 /// /// /// public static string StringBlankFillDigits2(string value) { if (value.Length == 1) return string.Format(" {0}", value); else if (value.Length == 2) return value; else return " "; } /// /// 4자리에 마춰 공백으로 채움 /// /// /// public static string StringBlankFillDigits4(string value) { if (value.Length == 1) return string.Format(" {0}", value); else if (value.Length == 2) return string.Format(" {0}", value); else if (value.Length == 3) return string.Format(" {0}", value); else if (value.Length == 4) return value; else return " "; } /// /// 5자리에 마춰 공백으로 채움 /// /// /// public static string StringBlankFillDigits5(string value) { if (value.Length == 1) return string.Format(" {0}", value); else if (value.Length == 2) return string.Format(" {0}", value); else if (value.Length == 3) return string.Format(" {0}", value); else if (value.Length == 4) return string.Format(" {0}", value); else if (value.Length == 5) return value; else return " "; } /// /// 6자리에 마춰 공백으로 채움 /// /// /// public static string StringBlankFillDigits6(string value) { if (value.Length == 1) return string.Format(" {0}", value); else if (value.Length == 2) return string.Format(" {0}", value); else if (value.Length == 3) return string.Format(" {0}", value); else if (value.Length == 4) return string.Format(" {0}", value); else if (value.Length == 5) return string.Format(" {0}", value); else if (value.Length == 6) return value; else return " "; } /// /// 7자리에 마춰 공백으로 채움 /// /// /// public static string StringBlankFillDigits7(string value) { if (value.Length == 1) return string.Format(" {0}", value); else if (value.Length == 2) return string.Format(" {0}", value); else if (value.Length == 3) return string.Format(" {0}", value); else if (value.Length == 4) return string.Format(" {0}", value); else if (value.Length == 5) return string.Format(" {0}", value); else if (value.Length == 6) return string.Format(" {0}", value); else if (value.Length == 7) return value; else return " "; } /// /// 8자리에 마춰 공백으로 채움 /// /// /// public static string StringBlankFillDigits8(string value) { if (value.Length == 1) return string.Format(" {0}", value); else if (value.Length == 2) return string.Format(" {0}", value); else if (value.Length == 3) return string.Format(" {0}", value); else if (value.Length == 4) return string.Format(" {0}", value); else if (value.Length == 5) return string.Format(" {0}", value); else if (value.Length == 6) return string.Format(" {0}", value); else if (value.Length == 7) return string.Format(" {0}", value); else if (value.Length == 8) return value; else return " "; } /// /// 4자리에 마춰 공백을 0으로 채움 /// /// /// public static string StringZeroFillDigits4(string value) { if (value.Length == 1) return string.Format("000{0}", value); else if (value.Length == 2) return string.Format("00{0}", value); else if (value.Length == 3) return string.Format("0{0}", value); else if (value.Length == 4) return value; else return "0000"; } } }