私はクレジット計算機をプログラミングしています。ユーザーが番号を入力したときに、(ローカル)桁区切り記号で数値を書式化します。NSNumberFormatterテキストフィールド1000セパレータ
たとえば、100000
は100.000
(ローカル)になるはずです。
私の例ではどうすればいいですか?
NSNumberFormatter *nf = [[[NSNumberFormatter alloc] init] autorelease];
[nf setNumberStyle: NSNumberFormatterDecimalStyle];
[nf setRoundingMode: NSNumberFormatterRoundHalfUp];
[nf setMaximumFractionDigits: 2];
double loanAmount = [[nf numberFromString: tbxLoanAmount.text] floatValue];
double intRate = [[nf numberFromString: annualInterestRate.text] floatValue];
double NRate = [[nf numberFromString: NInterestRate.text] floatValue];
double years = [[nf numberFromString: noOfYears.text] floatValue];
double residual = [[nf numberFromString: residualvalue.text] floatValue];
ありがとうございます!あなたはあなたの番号フォーマッタに以下の設定をしようとすることができます
D
あなたは100.000'は、他の方法で回避、 '100000'ないとなるべき'を意味しないのですか?また、 'NSNumberFormatter'はデフォルトで現在のロケールフォーマットを持っていませんか?そうしていないのですか? – yuji
100000は100.000になるはずです。 – user1258006
千単位区切り記号が '.'であれば、あなたの文字列が' 100.000'ならそれから得られる数字は10万でなければなりません? – yuji