好的,我现在正在写一个计算器应用程序。到目前为止,我在小数方面没有太多运气(我最近的方法效果不佳)。
-(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(这是正确的)。
这是实现这一目标的最佳方法是什么?