obj-c : iPhone 编程禁用数字四舍五入

发布于 2024-08-30 15:40:02 字数 217 浏览 4 评论 0原文

我需要向用户显示一个数字:1.96666777(timeHour),

moduloformat = [NSString stringWithFormat:@"%0.0f hours ",timeHour];

但它会自动对数字进行四舍五入。它给出“2”,我想显示“1” 我可以使用 NSrange 并获取第一个数字,但我想知道如何处理这个问题。 谢谢!!

i need to show a number to a user : 1.96666777 (timeHour)

moduloformat = [NSString stringWithFormat:@"%0.0f hours ",timeHour];

but it is rounding off the number automaticly. It gives "2" and i want to show "1"
i could use a NSrange and take the first number but i wanna know how to deal with this.
Thanks!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

新雨望断虹 2024-09-06 15:40:02
moduloformat = [NSString stringWithFormat:@"%0.0f hours ",floor( timeHour )];
moduloformat = [NSString stringWithFormat:@"%0.0f hours ",floor( timeHour )];
过度放纵 2024-09-06 15:40:02

最简单的方法是将 float 转换为 int。当您这样做时,小数位会被截掉并且不会发生四舍五入。

moduloformat = [NSString stringWithFormat:@"%i hours ", (int)timeHour];

Easiest to just cast the float to an int. When you do that the decimal places get chopped off and no rounding occurs.

moduloformat = [NSString stringWithFormat:@"%i hours ", (int)timeHour];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文