0

誰か助けてください。私は電卓アプリを作っており、 NSNumberFormatter を使用しました。たとえば、最大 12 桁のように、UILabel に表示される数字の制限を設定したいのですが、「1234121.38685 (12)」であっても任意の数字を意味します。したがって、この数値を乗算すると、増加しているため、正しく丸める必要があります。たとえば、「9785123124.12」にしたい場合は、「75647689751.5」にします。結果値が浮動小数点数ではなく整数部分の最大値を示すように。作り方は?

numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setGroupingSeparator:@" "];
[numberFormatter setGroupingSize:3];
[numberFormatter setUsesGroupingSeparator:YES];
[numberFormatter setDecimalSeparator:@"."];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setMaximumFractionDigits:10];
[numberFormatter setRoundingMode:NSNumberFormatterRoundUp];
[numberFormatter setMaximumIntegerDigits:10];
4

2 に答える 2

0

1 つは、設定した数値フォーマッタを使用して数値を NSString に変換することでした。合計桁数が 10 を超えることを確認してください。次に、文字列クラスを使用して数値を切り捨てます。

NSString *numbLong = @"123023.123781237912378123"; // get this from your number formatter
NSString *numbTruncated = [numbLong substringToIndex:10]; // 123023.123
于 2013-08-02T21:59:39.883 に答える