2010-07-07 82 views
6

在iphone应用程序中,我在NSStrings中存储了2个大数字,并且我想知道通过除法得到的浮点数。将长整数除以百分比

现在,我有:

unsigned long long number = [string1 longLongValue];
unsigned long long number2 = [string2 longLongValue];
float percent = number/number2;
[textField setText:[NSString stringWithFormat: @"%f%%",percent]];

(我假设我必须使用“无符号长很长”,而不是整数,因为在NSString的数字是相当高的第一个是309681754和第二个是6,854,433,820)

但是,我这样做后,我总是在文本字段中得到0%。我究竟做错了什么?

感谢您提前提供任何帮助。

回答

20

您正在分割整数。这总是导致一个整数。

你需要做的是在分割之前将它们投射到花车上。这应该工作:

float percent = (float)number/(float)number2; 
+0

谢谢,这个伎俩。如果我想要百分比格式的结果,我将如何移动小数点? – element119 2010-07-07 18:56:27

+0

例如,我得到.04518,我希望它是4.518% – element119 2010-07-07 18:57:12

+16

@golfromeo:真的吗?你在问如何*移动小数点*?叹。乘以100. – 2010-07-07 19:06:22