加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何更改iOS的小数位数?

发布时间:2020-12-15 01:47:48 所属栏目:百科 来源:网络整理
导读:我有一个简单的计算器应用程序,我希望它是这样,如果答案不需要小数位,没有,只有整数.如果答案是2,我不希望它说2.000000,它应该说2.如果它需要一个小数位,它应该显示一个小数位,例如12.8而不是12.80.我该怎么办?这是我的代码. 顺便说一句,这是来自 http://ww
我有一个简单的计算器应用程序,我希望它是这样,如果答案不需要小数位,没有,只有整数.如果答案是2,我不希望它说2.000000,它应该说2.如果它需要一个小数位,它应该显示一个小数位,例如12.8而不是12.80.我该怎么办?这是我的代码.
顺便说一句,这是来自 http://www.youtube.com/watch?v=Ihw0cfNOrr4的教程,而不是我自己的工作.

viewcontroller.h

#import <UIKit/UIKit.h>

interface calcViewController : UIViewController {

float result;
IBOutlet UILabel *calculatorScreen;
int currentOperation;
float currentNumber;

}


-(IBAction)buttonDigitPressed:(id)sender;
-(IBAction)buttonOperationPressed:(id)sender;
-(IBAction)cancelInput;
-(IBAction)cancelOperation;



@end

在他们中

#import "calcViewController.h"

@implementation calcViewController



-(IBAction)buttonDigitPressed:(id)sender {


currentNumber = currentNumber *10 + (float)[sender tag];
calculatorScreen.text = [NSString stringWithFormat:@"%2f",currentNumber];

}

-(IBAction)buttonOperationPressed:(id)sender {
if (currentOperation ==0) result = currentNumber;
else {


switch (currentOperation) {
    case 1:
        result = result + currentNumber;
        break;
    case 2:
        result = result - currentNumber;
        break;
    case 3:
        result = result * currentNumber;
        break;
    case 4:
        result = result / currentNumber;
        break;
    case 5:
       currentOperation = 0;
        break;




}
}
currentNumber = 0;
calculatorScreen.text = [NSString stringWithFormat:@"%2f",result];
if ([sender tag] ==0) result=0;
currentOperation = [sender tag];

}

-(IBAction)cancelInput {

currentNumber =0;
calculatorScreen.text = @"0";

}


-(IBAction)cancelOperation {



currentNumber = 0;
calculatorScreen.text = @"0";
currentOperation = 0;

}

解决方法

一种方法是使用NSNumberFormatter格式化结果而不是NSString的-stringWithFormat ::

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:requiredDigits];
[formatter setMinimumFractionDigits:0];
NSString *result = [formatter stringFromNumber:[NSNumber numberWithFloat:currentNumber];

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读