【问题标题】:Does NSInteger allow for decimal places?NSInteger 是否允许小数位?
【发布时间】:2012-12-12 17:51:17
【问题描述】:

我需要有人输入一个值,比如“40”,然后应用程序通过除以 7.5 将其转换为另一个值。目前我已经完成了:

    NSString *pCO2 = _pCO2.text;
    float thepCO2 = [pCO2 floatValue];
    NSInteger newpCO2 = thepCO2/7.5;
    NSString *finalpCO2 = [NSString stringWithFormat:@"%d", newpCO2];

然后,在另一个视图中,应用程序获取名为 finalpCO2 的 NSString 并将其转换回如下数字:

float newpCO2 = ([pCO2 floatValue]);

但是,当我这样做时,初始 pCO2 高于 38 的值似乎被四舍五入为 5(38 除以 7.5 = 5.0666),低于此值被四舍五入为 4(37 除以 7.5 = 4.93)

有谁知道为什么会发生这种情况?我希望这个数字至少到最接近的小数位。

谢谢

赖斯

【问题讨论】:

    标签: nsinteger decimal cgfloat


    【解决方案1】:

    NSInteger 只存储integers,所以不,它不存储小数位。如果需要存储浮点值,请使用 NSFloatNSDecimal

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    相关资源
    最近更新 更多