Objective c 如何组合两个不同的整数来创建一个浮点(或双精度)

Objective c 如何组合两个不同的整数来创建一个浮点(或双精度),objective-c,Objective C,我是来自意大利的塞萨尔(请原谅我的英语),这是我在StackOverflow上发布的第一个问题,我对Objective-C非常陌生。。。我希望我第一次尝试时不会搞砸 我想“组合”两个整数,我已经创建了一个新的浮点(或双精度)。 所谓“合并”,我的意思是我希望在点之前有第一个int,在点之后有第二个int,我不想从int转换成float。也许一个例子可以更好地解释我想做的事情: 第一个整数:7 Second int:92 我想要的浮动:7.92 我找了一个和我一样的问题,但我什么也没找到,也许是因

我是来自意大利的塞萨尔(请原谅我的英语),这是我在StackOverflow上发布的第一个问题,我对Objective-C非常陌生。。。我希望我第一次尝试时不会搞砸

我想“组合”两个整数,我已经创建了一个新的浮点(或双精度)。

所谓“合并”,我的意思是我希望在点之前有第一个int,在点之后有第二个int,我不想从int转换成float。也许一个例子可以更好地解释我想做的事情:

第一个整数:7

Second int:92

我想要的浮动:7.92

我找了一个和我一样的问题,但我什么也没找到,也许是因为我想做的事情太愚蠢了(我有一个UIPickerView,它有两个组件,每个组件包含数百个整数,我正在尝试创建一个浮点或双变量,该变量在点之前选择第一个组件,在点之后选择第二个组件)

提前感谢您的帮助


想想小数点的定义和/或用途是什么。它将数字中小于1的部分与大于或等于1的部分分开

因此,继续将小数点后的部分除以,直到小于1:

int firstPart = 7;
int secondPart = 92; // or whatever


float f = secondPart;

while (f >= 1) {
    f /= 10;
}

f += firstPart;

我知道这是后来的事,但我遇到了类似的情况。也许这更有效

取第二个数字,92除以100,得到.92。再加上第一个数字,得到7.92。但是,由于你要添加要转换为浮点数的整数,所以在添加它们时需要强制转换这些数字。如下所示:

int firstPart = 7;
int secondPart = 92;

float afterDecimalPlace = (float)secondPart/100.0;

float numberAsFloat = (float)firstPart + afterDecimalPlace;
基本上就是: 92/100=.92


7+.92=7.92

你尝试了什么?这听起来像是非常基本的数学。有可能产生一个像7.09这样的数字吗?或者你不需要从你的输入中获得这样的数字吗?user3477950在这里发布之前,我试着将数字组合成一个字符串,并将该字符串转换回数字,但这听起来是一个可怕的破解…你的lution非常适合我,谢谢!David K不,我不需要小数点后以0开头的数字。谢谢!然后你提出了正确的问题并得到了一个很好的答案,所以一切都很好。@DavidK我在StackOverflow方面的经验确实非常积极。我无法想象在StackOver之前学习编码会有多困难flow和Google(通常会把我送到这里…).非常好的社区和服务,这是我第一次问问题,但之前的问题已经帮了我很多次了…一切都很好,祝你有一个愉快的夜晚!不一定是最快的方法,但它清晰直接。@DavidK完全正确。听起来OP不是在寻求“快速”方法,因为它似乎将是GUI代码。无论如何,我不确定如何更有效地实现它。我能想到的唯一其他方法是确定第二部分的数量级并除以它,但这涉及对数,我非常确定这将比进行少量比较的循环慢得多s、 @user3477950提供的答案对我来说很好,非常感谢。它确实是GUI代码,所以我不需要更快的方法,对数现在不适合我……再次感谢!@user3477950抱歉,我接受了你的答案,但我还不能投票,我真的很想感谢你,因为这个问题可能很小,但我已经花了很多时间最后一个小时试图找出答案。不管怎样,我给你+1。你可以(可能)通过在一定范围内对数量级进行某种“二进制搜索”来提高效率,但这取决于输入的性质,对于这个应用程序来说是不必要的复杂。