19

次の double 値があります:0.000900137869045636 これを に変換したいと思いNSStringます。

私は次のコードを試しましたが、何があっても値をこれに丸めます:0.000900138

[NSString stringWithFormat:@"%.20lf", [currentLocation coordinate].latitude];

倍数をそのままにしておくにはどうすればいいですか?

ありがとうございました。

4

3 に答える 3

2

簡単な答え: 使用%.18lf- 0.000900137869045633 -> 0.000900137869045639 でテスト。しかし、これは正確です。丸めによってのみ機能します。

于 2013-05-10T20:29:08.023 に答える
0

私が見る限り、あなたのコードに問題はないようです:私はちょうど次のことを試しました

int main(int argc, const char * argv[])
{

    double foo = 0.000900137869045636;
    NSLog([NSString stringWithFormat:@"%.20lf", foo]);

    return 0;
}

ログ出力は次のとおりです。

2013-05-10 14:00:18.492 Test[71101:303] 
0.00090013786904563598

あなたの問題が何であるかはわかりませんが、NSStringの作成にはありません。

于 2013-05-10T18:02:10.527 に答える