wou*_*_be 10 nsnumberformatter ios
我正在寻找一种方法将"1"显示为"01",所以基本上10以下的所有内容都应该有一个前导0.
最好的方法是什么?我知道我可以使用一个简单的if结构来进行此检查,但这应该可以使用NSNumberformatter吗?
pas*_*aya 23
如果你只想要一个NSString,你可以简单地这样做:
NSString *myNumber = [NSString stringWithFormat:@"%02d", number];
Run Code Online (Sandbox Code Playgroud)
的%02d距离C.%ND表示必须有字符串中的至少n个字符,并且如果有更低,用0填充它.这是一个例子:
NSString *example = [NSString stringWithFormat:@"%010d", number];
Run Code Online (Sandbox Code Playgroud)
如果number变量只有两位数字,则它将以8个零为前缀.如果长度为9位,则会以单个零为前缀.
如果你想使用NSNumberFormatter,你可以这样做:
NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setPaddingPosition:NSNumberFormatterPadBeforePrefix];
[numberFormatter setPaddingCharacter:@"0"];
[numberFormatter setMinimumIntegerDigits:10];
NSNumber *number = [NSNumber numberWithInt:numberVariableHere];
Run Code Online (Sandbox Code Playgroud)
----更新------我认为这解决了你的问题:
[_minutes addObject:[NSNumber numberWithInt:i]];
return [NSString stringWithFormat:@"%02d", [[_minutes objectAtIndex:row] intValue]];
Run Code Online (Sandbox Code Playgroud)
let x = 999.1243
let formatter = NumberFormatter()
formatter.minimumFractionDigits = 1 // for float
formatter.maximumFractionDigits = 1 // for float
formatter.minimumIntegerDigits = 10 // digits do want before decimal
formatter.paddingPosition = .beforePrefix
formatter.paddingCharacter = "0"
let s = formatter.string(from: NSNumber(floatLiteral: x))!
Run Code Online (Sandbox Code Playgroud)
输出
“0000000999.1”
| 归档时间: |
|
| 查看次数: |
7123 次 |
| 最近记录: |