使浮点数只显示两位小数

303
我有一个float类型的值为25.00,但是当我在屏幕上打印它时,它变成了25.0000000
如何只显示两位小数?

var nf = NSNumberFormatter() nf.positiveFormat = "0.##" var numberAfterRound = nf.stringFromNumber(NSNumber(double: number))! - kalpeshdeo
13个回答

1

另一种不使用NSString的Swift方法:

let percentage = 33.3333
let text = String.localizedStringWithFormat("%.02f %@", percentage, "%")

顺便提一句,这个解决方案并不适用于 CGFloat 类型,只在 FloatDouble 上进行过测试。


1
@未知的点踩者,这是适用于Swift的工作解决方案,而且与其他Swift答案不同,所以为什么? - Aks
如果您可以返回一个浮点数,那么您总是可以将其转换为CGFloat。 - Sentry.co

0
 lblMeter.text=[NSString stringWithFormat:@"%.02f",[[dic objectForKey:@"distance"] floatValue]];

0

如果您需要将值转换为浮点数:

NSString* formattedNumber = [NSString stringWithFormat:@"%.02f", myFloat];
float floatTwoDecimalDigits = atof([formattedNumber UTF8String]);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接