如何组合2个不同的整数来创建单个浮点数(或双精度数)

时间:2014-07-20 21:52:24

标签: objective-c

我来自意大利的Cesare(请原谅我的英文),这是我在StackOverflow上发布的第一个问题,而且我对Objective-C很新......我希望我不会成功我第一次尝试时一团糟。

我想"结合"我已经有两个整数来创建一个新的浮点数(或一个双精度数。)

通过"结合",我的意思是我希望在点之前有第一个int,在点之后有第二个int,我不想尝试从int转换为浮动。也许一个例子可以更好地解释我试图做的事情:

First int:7

Second int:92

我试图获得的浮动:7.92

我找了一个像我一样的前一个问题,但我找不到任何东西,也许是因为我试图做的事情非常愚蠢(我有一个带有2个组件的UIPickerView,每个组件包含数百个整数,我试图创建一个浮点数或双变量,它在点之前选择第一个组件,在点之后选择第二个组件。

先谢谢你的帮助,

切萨雷

2 个答案:

答案 0 :(得分:3)

只要想一想小数点的定义和/或目的是什么。它将小于1的数字部分与大于或等于1的部分分开。

因此,请将小数点后的部分分开,直到它小于1:

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


float f = secondPart;

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

f += firstPart;

答案 1 :(得分:1)

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

取第二个数字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