52 votes

comment transformer des nombres négatifs en nombres positifs

J'ai le nombre à virgule flottante négatif comme :

a = -0.340515;

pour convertir cela en nombre positif, j'ai utilisé la méthode abs() comme suit :

a = abs(a);

le résultat est a = 0.000000;

Mais j'ai besoin du résultat comme 0.340515.

Quelqu'un peut-il me dire comment faire ça ?

101voto

Jason Coco Points 52303

abs() est réservé aux entiers. Pour le virgule flottante, utilisez fabs() (ou l'une des lignes fabs() avec la précision correcte pour ce qu'est réellement un)

51voto

Bhumit Points 288

Vous devez utiliser :

abs() pour int
fabs() pour double fabsf
() pour float

La fonction ci-dessus fonctionnera aussi mais vous pouvez aussi essayer quelque chose comme ça.

    if(a<0)
    {
         a=-a;
    }

20voto

Gaurav Points 58

Utilisez float fabsf (float n) pour float valeurs.

Utilisez double fabs (double n) pour double valeurs.

Utilisez long double fabsl(long double) pour long double valeurs.

Utilisez abs(int) pour int valeurs.

5voto

Gabriel Lidenor Points 1667

Eh bien, en mathématiques pour convertir un nombre négatif en un nombre positif, vous avez juste besoin de multiplier le nombre négatif par -1 ;

Alors votre solution pourrait être comme ceci :

a = a * -1;

ou plus court :

a *= -1;

2voto

shamnad Points 21
a *= (-1);

problème résolu. S'il y a une solution plus petite pour un problème, alors pourquoi vous les gars opter pour une solution complexe. S'il vous plaît, demandez aux gens d'utiliser la logique de base aussi parce que alors seuls les gens peuvent former leur logique de programmation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X