iPhone の Xcode /Objective-C で。
値が 0.00004876544 のフロートがあります。最初の有効数字の後に小数点以下 2 桁まで表示するにはどうすればよいですか?
たとえば、0.00004876544 は 0.000049 になります。
iPhone の Xcode /Objective-C で。
値が 0.00004876544 のフロートがあります。最初の有効数字の後に小数点以下 2 桁まで表示するにはどうすればよいですか?
たとえば、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 でも有効であることです。このメソッドは、 で定義されている C 関数を使用しmath.h
ます。