NSNumber'i biçimlendirmek için aşağıdaki Objective-C kod parçasını kullanıyorum ve çoğu zaman iyi çalışıyor ancak NSNumber nesnesi bir tamsayı tuttuğunda istediğim şeyi yapmıyor (kesirli bölüm yok) . self.totalFileSize
55.2300 dayanırsaNSNumber nesnelerini biçimlendirirken ondalık basamaklar nasıl belirlenir?
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(80.0f, 90.0f, 225.0f, 40.0f)];
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor whiteColor];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setFormat:@"###.##"];
int bytes = 1024 * 1024;
NSNumber *total = [NSNumber numberWithFloat:([self.totalFileSize floatValue]/bytes)];
label.text = [NSString stringWithFormat:@"0.00 MB of %@ MB", [formatter stringFromNumber:total]];
Yani örneğin, benim UILabel
üzerinde olması gerektiği gibi "55.23" gösterecektir. Ama aynı değişken 55 tutarsa, etikette "55" ibaresini gösterir.
Gerçekten istediğim, bu kodun her zaman çıktıda 2 ondalık basamak içermesidir.
Bunu nasıl başarabilirim? , Sen ondalık sonra bir şey varsa kontrol değerini bölebilirsiniz
En kötü durum senaryosu ".2f%":
setFormat: iOS için mevcut değil (simülatörde çalışabilir, ancak cihazda çalışmıyor olabilir). SetPositiveFormat: ve setNegativeFormat: –
'u iOS üzerinde kullanmanız gerekir. 'SetMinimumFractionDigits:' ve/veya - 'setMaximumFractionDigits:' – Laszlo