さて、私は今電卓アプリを書いています。これまでのところ、小数に関してはあまり運がありません (私の最近のアプローチはうまくいきませんでした)。
-(void) DecimalAdded
{
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setAlwaysShowsDecimalSeparator:YES];
[formatter setGeneratesDecimalNumbers:YES];
[formatter setDecimalSeparator:@"."];
//first convert the float value of CN into NSnumber
NSNumber *nextstepNumFromCNF= [NSNumber numberWithFloat:currentNumber];
//now we have to convert that number into a string
NSString *CNconverted = [formatter stringFromNumber:nextstepNumFromCNF];
NSNumber *CNdecmAddedAndReadyForPars = [formatter numberFromString:CNconverted];
currentNumber = currentNumber*10 + [CNdecmAddedAndReadyForPars floatValue];
CalculatorScreen = [NSMutableString stringWithFormat: @"%@", CNconverted];
文字列を電卓画面に追加できます。数値は 1 で、「1」と表示されます。私が入力しているように。ただし、これは通常、浮動小数点数の変換中に 1 に変換されます (これは正しいです)。
これを達成するための最良の方法は何ですか?