diff --git a/main.go b/main.go index f7cd654..b209cc2 100644 --- a/main.go +++ b/main.go @@ -71,46 +71,51 @@ func main() { })) for _, upc := range upcs { - checkForNonStartingNumber := regex.MatchString(upc) + if len(upc) > 0 { + checkForNonStartingNumber := regex.MatchString(upc) + + if checkForNonStartingNumber { + gtins = append(gtins, upc) + continue + } + + if isNumeric(upc) { + gtins = append(gtins, upc) + continue + } + + // Lower case the E + upc = strings.ToLower(upc) + // Split scientific notation at the e+ point + upcArray := strings.Split(upc, "e+") + + fmt.Println(upcArray) + + // Create separate variables for the split values + workingUpc := upcArray[0] + upcENumber := upcArray[1] + + // At one to the scientific notation length to allow for the decimal point to be removed + upcLength, err := strconv.Atoi(upcENumber) + Error(err) + upcLength = upcLength + 1 + + // Remove the decimal point + workingUpc = strings.ReplaceAll(workingUpc, ".", "") + + // Append 0 to UPC to match notation length + for len(workingUpc) < upcLength { + workingUpc = workingUpc + "0" + } + + upc = workingUpc - if checkForNonStartingNumber { gtins = append(gtins, upc) - continue + checkBar.Add(1) + } else { + gtins = append(gtins, "") + checkBar.Add(1) } - - if isNumeric(upc) == true { - gtins = append(gtins, upc) - continue - } - - // Lower case the E - upc = strings.ToLower(upc) - // Split scientific notation at the e+ point - upcArray := strings.Split(upc, "e+") - - fmt.Println(upcArray) - - // Create separate variables for the split values - workingUpc := upcArray[0] - upcENumber := upcArray[1] - - // At one to the scientific notation length to allow for the decimal point to be removed - upcLength, err := strconv.Atoi(upcENumber) - Error(err) - upcLength = upcLength + 1 - - // Remove the decimal point - workingUpc = strings.ReplaceAll(workingUpc, ".", "") - - // Append 0 to UPC to match notation length - for len(workingUpc) < upcLength { - workingUpc = workingUpc + "0" - } - - upc = workingUpc - - gtins = append(gtins, upc) - checkBar.Add(1) } answerBar := progressbar.NewOptions(len(gtins),