12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package common
- import (
- "math"
- "strconv"
- "strings"
- )
- func MoneyNegation(s string) string {
- switch {
- case s == "":
- return s
- case s[0] == '-':
- return s[1:]
- default:
- return "-" + s
- }
- }
- func IsAmountEqual(amount1, amount2 string) bool {
-
- normalizedAmount1 := normalizeAmount(amount1)
- normalizedAmount2 := normalizeAmount(amount2)
- if normalizedAmount1 == "" {
- normalizedAmount1 = "0"
- }
- if normalizedAmount2 == "" {
- normalizedAmount2 = "0"
- }
-
- value1, err1 := strconv.ParseFloat(normalizedAmount1, 64)
- value2, err2 := strconv.ParseFloat(normalizedAmount2, 64)
-
- if err1 != nil || err2 != nil {
- return false
- }
-
- return math.Abs(value2-value1) < 0.0001
- }
- func normalizeAmount(amount string) string {
-
- return strings.ReplaceAll(strings.TrimSpace(amount), ",", "")
- }
- func MoneyNormalize(s string) string {
- return strings.ReplaceAll(s, ",", "")
- }
|