我正在尝试制作一个简单的物镜-C高度转换器。输入是一个脚的(浮点)变量,我想转换为(int)英尺和(浮动)英寸:
float totalHeight = 5.122222;
float myFeet = (int) totalHeight; //returns 5 feet
float myInches = (totalHeight % 12)*12; //should return 0.1222ft, which becomes 1.46in
但是,我一直从xcode中得到一个错误,我意识到模运算符只适用于(int)和(long)。有人可以推荐一种替代方法吗?谢谢!
答案 0 :(得分:22)
即使modulo适用于float,也可以使用:
fmod()
你也可以这样使用......
float totalHeight = 5.122222;
float myFeet = (int) totalHeight; //returns 5 feet
float myInches = fmodf(totalHeight, myFeet);
NSLog(@"%f",myInches);
答案 1 :(得分:1)
为什么不使用
CGFloat myInches = totalHeight - myFeet;
答案 2 :(得分:0)
如前所述,减法是要走的路。只需记住通过乘以12:
将十分之一英尺转换为英寸float totalHeight = 5.122222;
int myFeet = (int) totalHeight;
float myInches = (totalHeight - myFeet) * 12;