2

在我的项目中,我有一个函数可以运行并将一个 5 位数字吐出到我界面上的标签中。该数字可以是双精度数或浮点数,但我希望它显示为 ###+##.##

示例编号 12345.67

显示为 123+45.67

输出将始终是带小数的 5 位数字。我研究了数据格式,特别是数字格式,但没有遇到任何特定于这种情况的东西。这是我将数字更改为字符串并将其分配给标签的地方。请帮助并提前感谢您的时间。

NSString *outputNumber = [NSString stringWithFormat:@"%f",numberHere];

_stationing.text = outputNumber;
4

2 回答 2

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,这些方法将无法正常工作。

于 2013-03-01T00:35:38.213 回答
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];

如果数字的格式不是永久的,您应该先检查长度。

于 2013-03-01T00:43:57.930 回答