Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone开发中的十进制_Iphone_Xcode_String_Decimal_Int - Fatal编程技术网

iPhone开发中的十进制

iPhone开发中的十进制,iphone,xcode,string,decimal,int,Iphone,Xcode,String,Decimal,Int,我想知道你们中是否有人知道如何在iPhone应用程序中使用小数 我把它当作密码 int a; int b; int c; a=.32; b=.18; c=a/b; NSString *cstring = [NSString stringWithFormat:@"%d", c]; NSLog(@"%@",cstring); NSLog应给出1.7777的重复值 但它只给出1。 我听说了一些关于NSDecimal的事情,并试图在苹果的参考资料中查找它,结果发现 有没有人知道我做错了什么,或者知道其

我想知道你们中是否有人知道如何在iPhone应用程序中使用小数 我把它当作密码

int a;
int b;
int c;
a=.32;
b=.18;
c=a/b;
NSString *cstring = [NSString stringWithFormat:@"%d", c];
NSLog(@"%@",cstring);
NSLog应给出1.7777的重复值 但它只给出1。 我听说了一些关于NSDecimal的事情,并试图在苹果的参考资料中查找它,结果发现


有没有人知道我做错了什么,或者知道其他一些有用的东西?

问题是你的
a
b
c
被声明为
int
s。整数的定义是整数。试试这个:

float a = 0.32, b = 0.18, c = a/b; NSLog(@"%f", c);

浮点数是像小数一样的浮点数。

但是为什么要使用浮点数呢?为什么不使用实际小数(
NSDecimal
,如OP所述)?
NSDecimal
是一个结构,要操作它们,必须使用许多C函数,而您可以正常地对
浮点
进行加、减、乘和除,因为它是一种基本数据类型。在我看来,对类似的东西使用
NSDecimal
s只不过是把它复杂化了。
b
是一个
int
,当您分配它时,
.18
。它将被转换为
0
。At
c=a/b,您试图将数字除以
0
,因此出现错误。您每天都会学到一些新东西!感谢他没有犯错误。结果是“1”。是的,我没有错,我发现是四舍五入。亚历克斯·桑德的漂浮物正是我需要的!谢谢大家!