我正在设置一个计算器,它将在用户输入后生成一个 float 。举个例子:如果生成的答案是 1.75,则实际上代表 1.75 小时。我想把答案分成两部分阅读1小时。 45 分钟,这比 0.75 小时更方便用户使用。
所以我需要能够删除小数点之前的整个数字(在本例中为“1”),以使用 .75 获取变量值——类似这样:
mIn = (.75 * 60) 这将为我提供 45 分钟的值以放入我的...
[NSString stringWithFormat:@"@% hr.@% min", hRs, mIn];
语句类型
对此的任何帮助将不胜感激。
最佳答案
您几乎肯定不想使用float
来存储用户输入的数字,特别是对于计算器而言。这将导致十进制/二进制舍入错误,让你发疯。您希望使用 NSDecimalNumber
来完成此类工作。
此处的其他答案也可以,但您想将 floor()
替换为 decimalNumberByRoundingAccordingToBehavior:
。您将使用舍入模式为 NSRoundDown
的 NSDecimalNumberHandler
和适当的scale
(根据您的目的,可能为 2 或 3)。
关于objective-c - 在 objective-c 中,我想将 float 分开以进行进一步的数学工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932776/