我在一个问题上停了下来,它可能很小,但我没有得到。
我的 float 值为 39.9959946。
floatValue=39.9959946
我想在 UILabel 中显示 39.99,遇到问题可以帮助我。
lblValue.text=[NSString stringWithFormat:@"%0.2f",floatValue];
获取输出是 40.00。但我想要 39.99。
最佳答案
请试试这个,它对我有用。
objective-c
float input = 39.9959946;
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setRoundingMode: NSNumberFormatterRoundDown];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:2];
NSString *numberString = [numberFormatter stringFromNumber:[NSNumber numberWithFloat:input]];
NSLog(@"NumberString: %@", numberString);
swift
let input:Float = 39.9959946;
let numberFormatter:NumberFormatter = NumberFormatter()
numberFormatter.roundingMode = .down
numberFormatter.numberStyle = .decimal
numberFormatter.maximumFractionDigits = 2
let numberString:String = numberFormatter.string(from: NSNumber(value: input))!
print(numberString)
您可以在 Objectiv-C 和 Swift 中获得完美的结果/
关于ios - 在 UILabel iOS 中点后显示带有两位小数的浮点值时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50286352/