Los dos campos son numéricos lo muestra la imagen del debuger,
estoy usando el debuger de fox que muestra los valores que tomo de una planilla excel,
el tema es que el cast recorta no redondea, y devuelve con los decimales que le pedis
pero en realidad la variable contiene mas decimales en forma invisible
m.Precio = 150.4080
m.PrecioB = cast( m.Precio as n(11,2) )
? m.precioB -> 150.40
muestra con dos decimales pero si lo comparás con 150.40 da distinto porque el cast lo recorta visualmente pero en realidad la variable sigue con los 4 decimales
hay que usar el round luego del cast