0

doubleの値を別のdoubleに割り当てたいのですが、小数点以下1桁だけを出力します。たとえば、このランダムなdouble値があり、23.12906370532668になっているとします。

どうすればこれを23.1に変換できますが、2倍の値のままにできますか?私は言うことができます:

NSLog(@"%4.1f\n", double);

しかし、それは文字列として出力されます。別の新しいdoubleに割り当てたいと思います。からdouble one = 23.12906370532668;double two = 23.1;それを行うための最良の方法と方法は何ですか?

4

2 に答える 2

0

あなたが何をしようとしているのかわからないが、これはおそらくあなたが望むものです

double d = 23.12906370532668;
NSString *str = [NSString stringWithFormat:@"%4.1f\n", d];
double d2 = [str doubleValue];
于 2012-07-07T08:00:49.933 に答える
0

10を掛けて、(必要に応じて)丸め/切り捨て/天井/床を整数値にした後、10で割ることができます。

double two = rint(10.0 * one) / 10.0;
于 2012-07-07T08:08:49.457 に答える