package delo_lib import ( "errors" "math" "strconv" "strings" ) const ( символовПослеЗапятойДоКопеек = 2 ) func ОкруглитьРубли(сумма float64) float64 { return RoundFloat(сумма, символовПослеЗапятойДоКопеек) } func RoundFloat(number float64, roundingTempDigitsCount int) float64 { temp := math.Pow(10, float64(roundingTempDigitsCount)) return math.Round(number*temp) / temp } func ДатувКвартал(in string) (int, error) { parts := strings.Split(in, ".") if len(parts) < 3 { return 0, errors.New("формат даты") } месяц, err := strconv.ParseInt(parts[1], 10, 64) if err != nil { return 0, err } квартал, err := МесяцвКвартал(месяц) if err != nil { return 0, err } return квартал, nil } func МесяцвКвартал(in int64) (int, error) { if in < 1 || in > 12 { return 0, errors.New("неправильный месяц") } switch in { case 1, 2, 3: return 1, nil case 4, 5, 6: return 2, nil case 7, 8, 9: return 3, nil } return 4, nil }