0

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
}
4

4 に答える 4

2

正解はないようです:

int digits = (int) ceil(log10(currentNumber));
于 2012-07-06T17:15:23.650 に答える
2
#include <math.h>

//...

int digits = (int) ceil(log10(number));

負の数に対する追加のロジックは、読者の課題として残されています。

于 2012-07-06T17:07:05.013 に答える
0

値を使用して NSString を作成し、その長さを確認できます。

NSString *stringNumber = [NSString stringWithFormat:@"%g", currentValue];
int length = stringNumber.length

おそらく長さから 1 を引いて、小数点を考慮することができます。

NSStringメソッドが理解できない場合に備えて、メソッドが何をするかを確認できるように、ドキュメントリファレンスを次に示します。

編集:小数点の前に数字が必要な場合は、私が投稿した後にこれを行うことができます:

[stringNumber substringToIndex:[stringNumber rangeOfString:@"."].location].length

そして、この値をプログラムの条件で使用します。

于 2012-07-06T17:05:56.430 に答える
0
int digits = [[NSString stringWithFormat:@"%g", variable] length]
于 2012-07-06T17:06:14.833 に答える