J'ai la valeur 25.00
dans un float
mais lorsque je l'imprime à l'écran, c'est le suivant 25.0000000
.
Comment puis-je afficher la valeur avec seulement deux décimales ?
Réponses
Trop de publicités?
shaunak
Points
21
Ryan
Points
1830
Voici quelques méthodes pour formater dynamiquement en fonction d'une précision :
+ (NSNumber *)numberFromString:(NSString *)string
{
if (string.length) {
NSNumberFormatter * f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
return [f numberFromString:string];
} else {
return nil;
}
}
+ (NSString *)stringByFormattingString:(NSString *)string toPrecision:(NSInteger)precision
{
NSNumber *numberValue = [self numberFromString:string];
if (numberValue) {
NSString *formatString = [NSString stringWithFormat:@"%%.%ldf", (long)precision];
return [NSString stringWithFormat:formatString, numberValue.floatValue];
} else {
/* return original string */
return string;
}
}
par exemple
[TSPAppDelegate stringByFormattingString:@"2.346324" toPrecision:4];
\=> 2.3453
[TSPAppDelegate stringByFormattingString:@"2.346324" toPrecision:0];
\=> 2
[TSPAppDelegate stringByFormattingString:@"2.346324" toPrecision:2];
\=> 2,35 (arrondir)
loretoparisi
Points
1206
Rinju Jain
Points
1115
- Réponses précédentes
- Plus de réponses