我目前有一个自定义格式的int值,并显示在标签中。 int值总是一个5位数字,我在十分之一到百分之一的位置显示一个+符号。如果number = 12345,则displayNumber = 123 + 45。
ViewController.m
int high = number / 100;
int low = number - (high * 100);
NSString *displayNumber = [NSString stringWithFormat:@"%d+%d", high, low];
我的问题是当数字在十分位数时为零。如果number = 12304,displayNumber将显示为123 + 4,我希望它显示为123 + 04。我尝试过使用if语句来降低<但是,这并没有与我的其余代码很好地结合。是否有任何简单的方法可以使低位显示两位数,即使它是一位数?提前谢谢您的时间。
答案 0 :(得分:6)
试试这个:
NSString *displayNumber = [NSString stringWithFormat:@"%d+%02d", high, low];
// ^^
// ||
// |+-- Two positions
// +--- Pad with zeros
声明
int low = number - (high * 100);
可以优化为
int low = number % 100;
您也可以完全跳过临时变量:
NSString *displayNumber = [NSString stringWithFormat:@"%d+%02d", number/100, number%100];
答案 1 :(得分:0)
以下代码在特定情况下等于零时保持十分之一。防爆。 number = 12304,displayNumber = 123 + 04。我没有像dasblinkenlight建议那样优化它。感谢dasblinkenlight!
int high = number / 100;
int low = number - (high * 100);
NSString *displayNumber = [NSString stringWithFormat:@"%d+%02d", high, low];