从UItextfield乘以数据?

时间:2014-02-15 23:03:19

标签: ios objective-c uitextfield

我是编码的新手,我需要一些非常简单的帮助。我想创建一个Youtube View / Money计算器,所以我需要获取视图的数量并将其乘以0.4 ish,以根据视图获得视频制作量的粗略估计。 我的main.storyboard看起来像这样:我有一个UItextField(应该得到视图的数量,一个计算按钮(做0.4倍数)和一个标签来显示结果。

这是我的viewcontroller.h代码:

int NumberOfViews;

@interface ViewController : UIViewController
{
    IBOutlet UILabel *result;
}

- (IBAction)Calculate:(id)sender;

@property (weak, nonatomic) IBOutlet UITextField *NumberOfViews;

现在这是我的viewcontroller.m代码:

-(IBAction)Calculate:(id)sender{

     NumberOfViews = NumberOfViews * 0.4;
     result.text = [NSString stringWithFormat:@"Money made %i", NumberOfViews];

}

我很确定这是因为来自UITextField的视图数量没有链接到0.4乘法也就是计算方法,因为结果总是0但是我如何链接那些?这是最简单的事情,但无法弄明白! 我想从UITextField中取一个数字并将其乘以0.4并显示结果......就是这样。非常感谢一点帮助..谢谢!

2 个答案:

答案 0 :(得分:2)

更新2 似乎@ 0x7fffffff认为他误读了,他的回答是正确的,你将你的(全局 - 那个坏!)整数乘以浮点数而%i打印一个整数。 @ 0x7fffffff请重新发回你的答案:-P

<强>更新 唉,我刚看到你有两个叫做“NumberOfViews”的变量。看,这就是为什么我最初要求你检查编码风格指南;-) @ 0x7fffffff有正确的答案。

原帖

您将文本字段与数字相乘。

做类似的事情:

float numViews = [NumberOfViews.text intValue] * 0.4
result.text = [NSString stringWithFormat:@"Money made %f", numViews];

但是你需要确保文本字段中的文本实际上是一个数字。

另外,请检查https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/CodingGuidelines.html下的编码样式指南,“NumberOfViews”是文本字段的错误名称。

答案 1 :(得分:1)

您将int乘以double,然后将结果存回int。由于int不能存储小数,因此会发生舍入。要解决此问题,您应该更改numberOfViews的声明以使用float类型或double类型。

float NumberOfViews;

然后,您需要将格式化字符串中使用的格式说明符更改为浮点数的%f

result.text = [NSString stringWithFormat:@"Money made %f", numberOfViews];

此外,您应该将实例命名为以小写字母开头,以帮助将它们与类区分开来。