目标c划分两个整数

The*_*imp 6 objective-c

我试图通过int在我的程序中划分两个s 来生成一个浮点数.这是我期望的:

1/120 = 0.00833

这是我正在使用的代码:

float a = 1 / 120;
Run Code Online (Sandbox Code Playgroud)

但它没有给我我期望的结果.当我打印出来时,我得到以下内容:

inf
Run Code Online (Sandbox Code Playgroud)

勿绮语*_*勿绮语 12

请执行下列操作

float a = 1./120.
Run Code Online (Sandbox Code Playgroud)

  • 就个人而言,我发现“ 1.0 / 120.0”比“ 1./120”更清晰。 (2认同)

Ste*_*her 7

您需要指定要使用浮点数学.

有几种方法可以做到这一点:


0x8*_*00d 5

float a = 1/120;
float b = 1.0/120;
float c = 1.0/120.0;
float d = 1.0f/120.0f;

NSLog(@"Value of A:%f B:%f C:%f D:%f",a,b,c,d);

Output: Value of A:0.000000 B:0.008333 C:0.008333 D:0.008333
Run Code Online (Sandbox Code Playgroud)

对于float变量a:int/int产生整数,您将其分配给float并将其打印为0.0000000

对于float变量b:float/int产生float,赋值为float并将其打印0.008333

对于float变量c:float/float产生float,所以0.008333

最后一个是更精确的浮动.以前的类型是double类型:所有浮点值都存储为double数据类型,除非值后跟'f'以专门指定float而不是double.