使用float在iOS中添加值

时间:2013-06-09 00:59:06

标签: iphone ios math floating-point

我想要将我拥有的两个值相加,然后将它们显示为新的UILabel。

我已经在网上阅读过有关使用浮动的内容,但是我已经解开了,这里是我的代码。

我要做的总和是:shippingLabel(运费)+ costLabel(产品价格),然后在新的UILabel中显示(TotalPrice)

我遇到的问题是该值将返回00.00

//TotalPrice
// Grab the values from the UITextFields.
float ShippingValue = [[shippingLabel text] floatValue];
float CostValue = [[costLabel text] floatValue];

// Sum them.
float floatNum = ShippingValue + CostValue;
TotalPrice.text = [[NSString alloc] initWithFormat:@"%f", floatNum];

TotalPrice = [[UILabel alloc] initWithFrame:CGRectMake(60.0f, 200.0f, 300.0f, 25.0f)];
TotalPrice.textColor = [UIColor colorWithHexString:@"5b5b5b"];
TotalPrice.backgroundColor = [UIColor clearColor];
TotalPrice.font = [UIFont boldSystemFontOfSize:12.0f];
TotalPrice.textAlignment = UITextAlignmentLeft;
[self.view addSubview:TotalPrice];

2 个答案:

答案 0 :(得分:1)

考虑到你没有说明问题究竟是什么,很难准确回答这个问题。但是,对我来说最明显的事情是:

1:您在创建文本值之前将其分配给TotalPrice。这些行应按以下顺序显示。

TotalPrice = [[UILabel alloc] initWithFrame:CGRectMake(60.0f, 200.0f, 300.0f, 25.0f)];
TotalPrice.text = [[NSString alloc] initWithFormat:@"%f", floatNum];

2:您的注释表明您希望将这两个值相乘,但您使用的是加法运算符。这可能不是你的问题,但我们都犯了愚蠢的错误。

// Multiply them.
float floatNum = ShippingValue * CostValue;

3:由于标签文本中的非数值,shippingLabel文本的浮点值可能不准确。

旁注:您应该将变量命名为totalPrice而不是TotalPrice。通常的做法是在类的实例和大写上使用小写的第一个字符。

答案 1 :(得分:0)

我的猜测,你期待会有一个UILabel的总数,但事实是你看不到总数。我认为这是问题

TotalPrice.text = [[NSString alloc] initWithFormat:@"%f", floatNum];

你正在尝试将TotalPrice的文本作为TotalPrice尚未分配的总数,因此TotalPrice不会得到任何东西。您可以在分配TotalPrice之后放置此行,它应该可以工作。愿它有所帮助。