objective-c - 我该如何处理大量的精确警告标志?

标签 objective-c c precision

下面是简单的代码

int generated;
generated = (random() % 100) + 1;

给出精度丢失的警告标志,'long' 到 'int',所以我一直通过重写赋值代码来纠正它

generated = ((int)random() % 100) + 1;

这是纠正问题的有效方法还是我只是在其他地方掩盖错误?

最佳答案

您也可以使用 long 作为常量:

generated = (random() % 100L) + 1L;

请注意,这里假设 generated 很长。

编辑:因为 generated 是一个 int,你只需要在完成后转换它:

generated = (int)((random() % 100L) + 1L);

关于objective-c - 我该如何处理大量的精确警告标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7045173/

相关文章:

iphone - 我应该使用核心数据来存储一些用户偏好,还是将其保存在 NSUserDefaults 中?

ios - 如何在 HMSegmentedControl 上重复或重新选择选定的段?

c - 拔下并重新插入连接器后无法从串行设备读取

c - 如何在运行基于 graphics.h 的 C 程序时在终端中打印一些信息?

c - "C"中的 Microsoft word 文本分析器

java - 如何正确截断 double

Java 根据算术结果舍入 int 值

ios - 如何从 NSDate 获得 1 小时的 future 时差

objective-c - Objective-C 中体系结构 x86_64 的 undefined symbol

c - c中整数到 float 的隐式转换