在 iPhone 的 Xcode /Objective-C 中。
我有一个值为 0.00004876544 的浮点数。我如何让它在第一个有效数字之后显示到小数点后两位?
例如,0.00004876544 将读取 0.000049。
在 iPhone 的 Xcode /Objective-C 中。
我有一个值为 0.00004876544 的浮点数。我如何让它在第一个有效数字之后显示到小数点后两位?
例如,0.00004876544 将读取 0.000049。
我没有通过编译器运行它来仔细检查它,但这是算法的基本要点(从这个问题的答案转换而来):
-(float) round:(float)num toSignificantFigures:(int)n {
if(num == 0) {
return 0;
}
double d = ceil(log10(num < 0 ? -num: num));
int power = n - (int) d;
double magnitude = pow(10, power);
long shifted = round(num*magnitude);
return shifted/magnitude;
}
要记住的重要一点是,Objective-C 是 C 的超集,所以任何在 C 中有效的东西在 Objective-C 中也是有效的。此方法使用定义在math.h
.