我想要将我拥有的两个值相加,然后将它们显示为新的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];
答案 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之后放置此行,它应该可以工作。愿它有所帮助。