gpt4 book ai didi

iphone - float 不返回正确的十进制值

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:08 25 4
gpt4 key购买 nike

这是我的代码:

int resultInt = [ja.resultCount intValue];
float pages = resultInt / 10;


NSLog(@"%d",resultInt);
NSLog(@"%.2f",pages);

resultInt 从值 3559 的 php 脚本返回,所以页面结果应该是 355.9 但我得到的结果是 355.00,这是不正确的

最佳答案

使用

float pages = resultInt / 10.0f;

int/intint但是 int/floatfloat/intfloat


已编辑以获得更多解释

请务必记住,数学运算的结果值受接收变量数据类型规则的约束。除法运算的结果可能会产生一个浮点值。但是,如果分配给整数,则小数部分将丢失。同样重要但不太明显的是对多个整数执行操作并分配给非整数的操作的影响。在这种情况下,结果在被隐式转换之前计算为整数。这意味着尽管将结果值分配给浮点变量,但小数部分仍会被截断,除非首先显式转换至少一个值。以下示例说明了这一点:

int a = 7;
int b = 3;
int integerResult;
float floatResult;

integerResult = a / b; // integerResult = 2 (truncated)
floatResult = a / b; // floatResult = 2.0 (truncated)
floatResult = (float)a / b; // floatResult = 2.33333325

关于iphone - float 不返回正确的十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13975692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com