我已收到服务期限。持续时间为 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/