float 変数の長さを桁数でチェックしようとしていますが、使用する正しい構文がわかりません。私はこれを調べましたが、答えが見つかりませんでした。
私のコードは単純な if ステートメントです:
if (currentNumber.digits < 3) { //If the number has less that three digits, I don't know what to put here to get it working
//code
}
float 変数の長さを桁数でチェックしようとしていますが、使用する正しい構文がわかりません。私はこれを調べましたが、答えが見つかりませんでした。
私のコードは単純な if ステートメントです:
if (currentNumber.digits < 3) { //If the number has less that three digits, I don't know what to put here to get it working
//code
}
正解はないようです:
int digits = (int) ceil(log10(currentNumber));
#include <math.h>
//...
int digits = (int) ceil(log10(number));
負の数に対する追加のロジックは、読者の課題として残されています。
値を使用して NSString を作成し、その長さを確認できます。
NSString *stringNumber = [NSString stringWithFormat:@"%g", currentValue];
int length = stringNumber.length
おそらく長さから 1 を引いて、小数点を考慮することができます。
NSString
メソッドが理解できない場合に備えて、メソッドが何をするかを確認できるように、ドキュメントのリファレンスを次に示します。
編集:小数点の前に数字が必要な場合は、私が投稿した後にこれを行うことができます:
[stringNumber substringToIndex:[stringNumber rangeOfString:@"."].location].length
そして、この値をプログラムの条件で使用します。
int digits = [[NSString stringWithFormat:@"%g", variable] length]