objective-c - "Dynamic" float 显示?

标签 objective-c ios floating-point floating-accuracy

我正在尝试使用 ObjectiveC 为 iphone 编写一个应用程序。我需要显示一个状态文本,告诉用户一些变量的值。这些值可以通过用手指在图表中拖动标记来更改。 我遇到的问题是值范围很宽。如果你想设置 0 到 1 之间的值,你可能需要 3 位小数(比如 0.345)。但如果范围是 0 到 10000,则根本不需要任何小数。

我现在有大约 20 条不同的消息可以显示,如果我希望它们都“动态”显示值,将会有很多这样的代码:

float start,stop;    // Defined earlier...
switch ( numberOfDecimals ) {
    case 0:
        lblStatus.text = [NSString stringWithFormat:@"Start: %.0f  Stop :%.0f", start, stop];  break;
    case 1:
        lblStatus.text = [NSString stringWithFormat:@"Start: %.1f  Stop :%.1f", start, stop];  break;
    case 2:
        lblStatus.text = [NSString stringWithFormat:@"Start: %.2f  Stop :%.2f", start, stop];  break; 
    default:  break;
} 

有没有更好的办法呢?

最佳答案

使用 NSNumberFormatter。这就是它的用途。

关于objective-c - "Dynamic" float 显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5723908/

相关文章:

iOS AVAssetExportSession 失败代码=-11820 仅限 iPhone 5(c)

objective-c - 在 c 函数中使用 performSelector 来调用委托(delegate)

ios - 如何将Swift中的小数格式化为百分比

objective-c - 在两列中显示结果

ios - CGAffineTransforms 性能在 iOS 7 上真的很慢

objective-c - 是否有一种简单的方法(在 Cocoa/iOS 中)将方法调用排队,以便在下一个运行循环中运行一次?

ios - AVCaptureFileOutputRecordingDelegate 不写入文件,Swift 2

java - 如何检查 double 是否最多有 n 位小数?

haskell - 为什么地板无限不会抛出一些错误?

ios - AVCaptureVideoPreviewLayer 能够使用 Quicktime 在横向模式下进行录制