-1

有理数をのように1.24234、または45.314整数のように124234、または45314小数桁数を取得するように変換するにはどうすればよいですか?

4

3 に答える 3

1

文字列に変換する

小数点の位置を見つけます。

上記の文字列の長さから、小数点以下の桁数を引きます。

次に、文字列からポイントを取り出します。

于 2012-12-17T22:37:40.463 に答える
0
int i=0;
float a = 1.24234;

for(i; i<20; i++){
    float b=pow(10,i);
    if((a*b)%10==0)
        break;
}
int c = pow(10,i-1);
int result = a*c;

このコードが役立つと思います。

于 2012-12-17T22:42:27.197 に答える
0

番号がWD(Whole.Decimal)の場合

Wを取得するには(int)WDを実行しますDを取得するにはWDを実行できます-(int)WD

これで、整数と小数点が分離されました。Wのx10乗数を計算するには、結果が10未満になるまで、Dを10で除算し続けます。

現在:WxN + D(ここで、Nは10で割った回数です)

注:これは宿題の可能性があると思うので、例としてコードを記述しませんでした。また、非常に長い(つまり、正確なフローティングポイント)を使用している場合、これは保持されず、オーバーフローする可能性があります。このようなものを実装する前に、境界を確認してください。

于 2012-12-17T23:29:33.720 に答える