Project

General

Profile

Tâche #668

Nouveau type Decimal

Added by DSGSLA over 10 years ago. Updated over 9 years ago.

Status:
Nouveau
Priority:
Bas
Category:
Maths
Target version:
-
Start date:
04/16/2010
Due date:
% Done:

80%

Estimated time:

Description

Définir un nouveau type QDecimal pour gérer les nombres décimaux, c'est-à-dire des nombres rationnels. On peut le voir comme un nombre à virgule fixe.
En informatique de gestion pour la manipulation des données monétaires on ne peut se permettre d'utiliser des nombres flottants. C'est pour cela que dans les progiciels, le COBOL ou les bases de données est défini un type décimal.

Constructeurs : QDecimal<nombre de chiffres, nombre de décimaux>
QDecimal<nombre de chiffres, nombre de décimaux>(int partie_entière, int partie_décimale)

Exemple : QDecimal<5,2> permet de stocker des chiffres comme 123.12 - 0.1 - 000.01 - 14.00 ...
Lire création d'un nombre décimal de 5 chiffres dont 2 après la virgule. C'est la notation usuelle dans les bases de données (Oracle, DB2, ...)

Limitation : QDecimal<n,d> avec n+d <= x (en général 23).

Opérations : quatre opérations de bases avec les autres types numériques, comparaisons...

Conversions : de et vers les types int, long, float, double. Exemples : QDecimale::toInt().

Édition : QDecimal::toString()
exemple : QDecimal<4,1>(123, 4).toString() renvoie 0123.4
QDecimal::toString(QString)
exemple : QDecimal<8,2>(- 1234,06).toString("+ZZZ ZZ9,999") renvoie "- 1 234,060"
Vous pouvez vous inspirer du COBOL pour le formatage.

History

#1 Updated by dourouc05 over 10 years ago

  • Category set to Maths
  • Target version set to Version 0.0.1

#2 Updated by dourouc05 over 10 years ago

Merci pour la demande ! On va essayer d'y répondre pour la première version.

Par contre, ce n'est pas le nom qu'on va choisir : on ne préfixe pas nos classes, on les range dans des espaces de noms (pas de préfixe n'a su convenir à toutes nos volontés, on l'a donc laissé tomber).

#3 Updated by dourouc05 over 10 years ago

  • Subject changed from Nouveau type QDecimal to Nouveau type Decimal

#4 Updated by yan over 10 years ago

  • Target version changed from Version 0.0.1 to Version 0.0.2

#5 Updated by rootOfAllDevil over 10 years ago

  • Assignee set to rootOfAllDevil

#6 Updated by rootOfAllDevil over 10 years ago

  • % Done changed from 0 to 80

#7 Updated by yan over 10 years ago

L'utilisation du pow est ambigue sous visual => problème de compilation

#8 Updated by yan over 9 years ago

  • Target version deleted (Version 0.0.2)

#9 Updated by yan over 9 years ago

  • Priority changed from Normal to Bas

Also available in: Atom PDF