Tâche #668
Nouveau type Decimal
80%
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 almost 13 years ago
- Category set to Maths
- Target version set to Version 0.0.1
#2
Updated by dourouc05 almost 13 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 12 years ago
- Subject changed from Nouveau type QDecimal to Nouveau type Decimal
#4
Updated by yan over 12 years ago
- Target version changed from Version 0.0.1 to Version 0.0.2
#5
Updated by rootOfAllDevil over 12 years ago
- Assignee set to rootOfAllDevil
#6
Updated by rootOfAllDevil over 12 years ago
- % Done changed from 0 to 80
#7
Updated by yan over 12 years ago
L'utilisation du pow est ambigue sous visual => problème de compilation
#8
Updated by yan almost 12 years ago
- Target version deleted (
Version 0.0.2)
#9
Updated by yan almost 12 years ago
- Priority changed from Normal to Bas