从浮点数中获取Decimal部分

new*_*ima 17 floating-point xcode objective-c

我需要从浮点数中得到小数部分,例如:

float x = 18.30;

我需要一种方法来获得另一个浮点数'.30'所以我将有一个等于18.30的浮点数和另一个等于.30的浮点数.

有任何想法吗?

Thi*_*yen 23

我不确定是否有一个函数按照你想要的方式完成,但是你可以使用它:

x - floor(x)
Run Code Online (Sandbox Code Playgroud)


JKv*_*Kvr 18

上面接受的答案(x - floor(x))适用于正数但对负数不正确.使用trunc()代替:

x - trunc(x)
Run Code Online (Sandbox Code Playgroud)

但是如果你问我,fmod()解决方案就是使用的解决方案:

fmod(x, 1)
Run Code Online (Sandbox Code Playgroud)


Ken*_*ses 7

modf()功能直接比这更直接fmodf().