Bonjour,
voilà je voudrai faire l'opération suivante sur un CString
comment est ce que je peux faire.Code:
1
2
3
4
5
6 CString valeur; Cstring nouvelle_valeur; nouvelle_valeur = entier(valeur / 100) + [modulo (valeur /100)]/60;
:tagcode: :merci:
Version imprimable
Bonjour,
voilà je voudrai faire l'opération suivante sur un CString
comment est ce que je peux faire.Code:
1
2
3
4
5
6 CString valeur; Cstring nouvelle_valeur; nouvelle_valeur = entier(valeur / 100) + [modulo (valeur /100)]/60;
:tagcode: :merci:
Bonjour,
Le truc, c'est d'utiliser un type de variable adapté au problème.
Je n'ai jamais connu quelqu'un, ni jamais lu quelque part que CString était un type destiné à faire des calculs.
justement
j'ai un CString et je suis obliger de partir de ça.
est ce qu'il faut que je convertisse ma valeur dans un autre type (float ou int) pour pouvoir faire mon calcule
si oui comment je fait cette convertion
conversion, voir dans la faqhttp://c.developpez.com/faq/vc/?p...ConvertCString
hiko dit : parrain le lien :p
pour faire cela tu dois convertir ton CString en entier, faire la division, puis convertir le résultat en CString
le modulo est % si mes souvenirs sont bonsCode:
1
2
3
4
5
6
7
8
9
10 CString valeur; Cstring nouvelle_valeur; long v, newv; v = strtol(valeur, NULL, 10 ); newv= v / 100 + (v % 100)/60; nouvelle_valeur.format("%ld", newv);
je te remiercie, cela fonctionne
mon souci maintenant est au niveau du resultat
je voudrais que le résultat soit affiché de la manière suivante:
newv= v / 100 + (v % 100)/60;
exemple de résultat
newv= 48.7856
48 résultat de v/100
7856 résultat de (v % 100)/60
je veux que les deux résultats soit séparer par un "."
il faut peut être changer le type des variable v newV en int???
euh sans vouloir etre mechant il suffit de faire juste ca :
Code:
1
2
3
4
5
6
7
8
9
10
11 CString valeur; Cstring nouvelle_valeur; long v, newv1, newv2; v = strtol(valeur, NULL, 10 ); newv1 = v / 100; newv2 = (v % 100)/60; nouvelle_valeur.format("%ld.%ld", newv1, newv2);