ios - 在 Objective C 中将数字转换为数字

标签 ios objective-c iphone macos nsnumber

我已收到服务期限。持续时间为 0.73 所以我试过了

if (value >= 1.0 && value < 60.0) {
    double value = 0.73;
    double d = value * 1000;
    NSLog(@"milli seconds = %03d ms",(int)d);
    //Output is 730ms    --> which is correct. 
}

如果我收到 1.45 以上 1.0

double value = 1.45
if (value >= 1.0 && value < 60.0) {
    double d = value * 1000;
    double sec = (int)value % 60;
    NSLog(@"%02d s:%012.f ms",(int)sec, d);
    //Output is 01 s: 000000001450 ms
}


The output should be as 01s:450ms

我需要将其更改为 01s:450ms。但我不能试试这个。任何机构都可以帮助这一点。提前致谢。

最佳答案

%012.f 表示您希望您的答案始终有 12 个位置,这些位置的填充为 0。要将其更改为您所写的内容,您可以做

NSLog(@"%02ds:%03.0f ms",(int)sec, d);

这将打印没有小数位的毫秒数,因此如果您有 1.4566,您将以 01s:457ms 结束。这就是你想要的吗?

您可以通过在 *nix 机器上查找 printf 的手册页找到更多关于字符串格式化的信息,转到终端并输入 man printf。

关于ios - 在 Objective C 中将数字转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26729816/

相关文章:

ios - iPhone模拟器时差是否保留在设备上?

ios - objective-c - 帮助创建格式正则表达式 (#,#)

ios - Apple 通知设备 token 更改

ios - UIButton 图像在多个 UITableViewCells 中更改

iphone - UIImage 旋转时质量下降

iphone - subview 位置在导航到不同 View 并返回时发生变化

iphone - SEGV_ACCERR 调用 [[NSNotificationCenterdefaultCenter]removeObserver :self] in dealloc

iphone - iTunes 商店 - iPhone 应用程序...可定制背景?

ios - 使用 Rest API Swift 3

iphone - iAd didFailToReceiveAdWithError 总是调用