ここで Obj-C の初心者 :) 数値を変換するコードを書いています (主にドットの後のゼロを制御するため、5.000 -> 5 または 5.00)。それで、私はそれを機能させましたが、必要に応じて使用するクラスを作成したかったのです。作業コードは次のとおりです。
MainViewController.h
currentNumber = currentNumber *10 + (float)[sender tag];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:0];
NSString *convertedNumber = [formatter stringFromNumber:[NSNumber numberWithFloat:currentNumber]];
calculatorScreen.text = [NSString stringWithFormat:@"%@",convertedNumber];
だから、私のためにそれを行い、convertedNumber を返すクラスを作成したいだけです。ここで私がやったこと:
FormatNumber.h
@interface FormatNumber: NSNumber
{
NSString *nf;
}
- (void) getNumber:(float)n1;
- (NSString *) retNumber;
@end
FormatNumber.m
@implementation FormatNumber;
-(void) getNumber:(float)n1
{
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:2];
[formatter setMinimumFractionDigits:0];
nf = [formatter stringFromNumber:[NSNumber numberWithFloat: n1]];
}
-(NSString *) retNumber; // As I cannot return something from void, I tried to do this way, don't know if it's the better
{
return nf;
}
@end
MainViewController.h (クラスから値を渡して取得しようとしています)
currentNumber = currentNumber *10 + (float)[sender tag];
NSString *convertedNumber = 0;
FormatNumber *n1 = [[FormatNumber alloc] init];
[FormatNumber getNumber:currentNumber]; // No known class method for selector 'getNumber'
convertedNumber = [FormatNumber retNumber]; // No known class method for selector 'retNumber'
calculatorScreen.text = [NSString stringWithFormat:@"%@",convertedNumber];
また、このコードを書く簡単な方法があれば、いくつかの洞察をいただければ幸いです:)