2012-02-29 21 views
0

私には2倍の小数点の前にすべての値だけが必要です。NSString - double内の小数点以下をすべて切り捨てます

現在、私は

NSString *level = [NSString stringWithFormat:@"%.1f",doubleLevel]; 

を使用していますが、9.96の値が与えられたとき、これは "10" を返します。だから丸めです。私はそれが "9"だけを返すために必要です。 (注 - 値が9.95の場合、正しく「9」の値が返されます)

提案がありますか?

ありがとうございます。

+0

double値を直接intに割り当てます。それを試してみてください – Devang

答えて

2

float/double値をint値に代入するだけです。 int型としてその赤ちゃん

int intValue = doubleLevel; 
0
NSString *level = [NSString stringWithFormat:@"%d",doubleLevel]; 
1

キャスト。

int castedDouble = doubleLevel; 

ダブルで.以降のものは切り捨てられます。

9.1239809384 --> 9

123.90454980 --> 123

ん丸め、シンプル切り捨て。

0

あなたはfloatとして、それを維持したい場合:

CGFloat f = 9.99; 
f = floorf(f); 

floorround実装のかなりのものが用意されています。 彼らはUN * X以来周りにあり、BSD、Posix、または他のさまざまな種類のものであり、実際にそれらの低レベルライブラリの一部です。

浮動小数点変数の異なる「深度」には異なるバージョンがあります。

関連する問題