Tipo de dato Money

Chema Cortés py en ch3m4.org
Mar Oct 21 02:31:45 CEST 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

El Lunes, 20 de Octubre de 2003 21:49, Batista, Facundo escribió:

> #- O sea, haría que la precisión fuera un atributo de la clase.
>
> Lo es.
>
> #- Consideraría, además, la posibilidad de aceptar precisiones
> #- "negativas".
> #- Estudia un poco los siguientes ejemplos:
>
> Entiendo, ¿pero para que sirve esto? ¿Usando dinero?

Cuando se trabaja con grandes presupuestos a veces se desea este tipo de 
redondeos. Por lo menos en las hojas de cálculo se admiten valores negativos 
en la precisión.

> #- En cuanto a las conversiones de tipo, aplicaría la norma de
> #- convertir siempre
> #- hacia el tipo de dato más genérico. Considero que el tipo
> #- 'float' es más
> #- genérico que el 'Money', y no al revés como sugieres.
>
> El principal punto es que si estoy trabajando con Money, yo quiero que ante
>
> la situación:
> >>> m = Money(2)
> >>> n = m + 5
>
> n siga siendo tipo Money.
>
> De esta manera siempre estoy trabajando con este tipo de datos y no tengo
> sorpresas de redondeo en ningún punto. Más allá de la operación matemática,
> siempre es Money. Y creo que no se justifica una sobrecarga de trabajo como
>
> la siguiente:
> >>> m = Money(2)
> >>> n = m + Money(5)

Me refería concretamente a que en la situación 'Money op float' el tipo float 
es el tipo más generico. Parece más lógico que fuera Money quien se 
convirtiera "implícitamente" a float. En tu propuesta hablas de que, en la 
conversión desde float, probablemente se perdería precisión para ajustarse al 
otro operando. Creo que sería más consecuente si se obligara a realizar la 
conversión "explícitamente" para indicar siempre la precisión de la 
conversión.


- -- 
Chema Cortes (py en ch3m4.org)
  http://py.ch3m4.org
    PGPKEY: mailto:pgpkey en ch3m4.org?subject=__PGPKEY__

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

iD8DBQE/lH5xHLTQrABk8H0RAtOUAKCNFGsUBxaO60+swz15++OUU3PdBACgu+Oc
9YWZtrBJVt36hCQUi69SCjo=
=A4fs
-----END PGP SIGNATURE-----




Más información sobre la lista de distribución Python-es