valueA, _ := primitive.ParseDecimal128("123.00") valueB, _ := primitive.ParseDecimal128("123.12")¿Cómo calcular el valor A < valor B?
Encontré una respuesta gracias a @Matteo
Hay una función que convierte Decimal128 a BigInt.
y BigInt disponibles para comparar
func CompareDecimal128(d1, d2 primitive.Decimal128) (int, error) { b1, exp1, err := d1.BigInt() if err != nil { return 0, err } b2, exp2, err := d2.BigInt() if err != nil { return 0, err } sign := b1.Sign() if sign != b2.Sign() { if b1.Sign() > 0 { return 1, nil } else { return -1, nil } } if exp1 == exp2 { return b1.Cmp(b2), nil } if sign < 0 { if exp1 < exp2 { return 1, nil } return -1, nil } else { if exp1 < exp2 { return -1, nil } return 1, nil } }* editado para la parte exponencial