我有负浮点数:
a = -0.340515;
Run Code Online (Sandbox Code Playgroud)
将此转换为正数我使用abs()方法:
a = abs(a);
Run Code Online (Sandbox Code Playgroud)
结果是 a = 0.000000;
但我需要结果0.340515.
任何人都可以告诉我如何做到这一点.
Jas*_*oco 81
abs()仅适用于整数.对于浮点,使用fabs()(或者fabs()对于实际上的任何一个,使用具有正确精度的行之一)
Bhu*_*hta 31
你必须使用:
abs()用于int
fabs()用于double
fabsf()用于float
上面的函数也可以工作,但你也可以尝试这样的东西.
if(a<0)
{
a=-a;
}
Run Code Online (Sandbox Code Playgroud)
小智 16
使用float fabsf (float n)的float值.
使用double fabs (double n)的double值.
使用long double fabsl(long double)的long double值.
使用abs(int)的int值.
嗯,在数学中,要将负数转换为正数,只需将负数乘以 -1即可;
那么你的解决方案可能是这样的:
a = a * -1;
Run Code Online (Sandbox Code Playgroud)
或更短:
a *= -1;
Run Code Online (Sandbox Code Playgroud)