在我的项目中,我有一个运行的函数,并在我的界面上向一个标签中输出一个5位数字。数字可以是double或float,但我希望它显示为### + ##。##
示例编号12345.67
显示为123 + 45.67
输出将始终为带小数的5位数字。我研究了数据格式,特别是数字格式,但没有遇到任何特定的情况。这是我将数字更改为字符串并将其分配给标签的位置。请提前帮助并感谢您的时间。
NSString *outputNumber = [NSString stringWithFormat:@"%f",numberHere];
_stationing.text = outputNumber;
答案 0 :(得分:1)
有几种方法可以做到。
NSMutableString *outputNumber = [[NSString stringWithFormat:@"%.2f", numberHere] mutableCopy];
[outputNumber insertString:@"+" atIndex:outputNumber.length - 5];
_stationing.text = outputNumber;
另:
int high = numberHere / 100;
float low = numberHere - (high * 100);
NSString *outputNumber = [NSString stringWithFormat:@"%d+%.2f", high, low];
如果数字小于100,这些方法将无效。
答案 1 :(得分:0)
希望这个帮助
NSStirng *numberString = [NSString stringWithFormat:@"%.2f",numberHere];
NSString *firstPart = [numberString substringWithRange:NSMakeRange(0, 3)];
NSString *secondPart [numberString substringWithRange:NSMakeRange(3, 5)];
NSString *outputString = [NSString stringWithFormat:@"%@+%@", firstPart, secondPart];
如果数字的格式不是永久性的,您应该先检查长度。