我想在UILabel
上显示数字的减半值。为此,我尝试使用UITextField
获取号码,将数字从NSString
格式化为NSNumber
,然后除以2。
之后我想在UILabel
上显示它,但它在逗号(十进制标记)后面没有显示任何内容。不知道怎么解决这个问题?我只需要两个数字后面的逗号。
这是我当前的UIButton
代码:
// first get the input
NSString *inputValue = self.numberInput.text;
NSLog(@"given number: %@", inputValue);
// divide the input by 2 & get the output
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [formatter numberFromString:inputValue];
NSNumber *toDivide = [NSNumber numberWithFloat:2];
NSNumber *dividedNumber = [NSNumber numberWithInt:[myNumber floatValue] / [toDivide floatValue]];
NSLog(@"divided value: %@", dividedNumber);
// print it out on the firstBill Label
self.firstBill.text = [NSString stringWithFormat:@"%.2f",[dividedNumber floatValue]];
示例输出:
2015-08-18 20:03:02.021 Week one[1364:37640] given number: 123.54
2015-08-18 20:03:02.022 Week one[1364:37640] divided value: 61
我需要像
这样的东西2015-08-18 20:03:02.021 Week one[1364:37640] given number: 123.54
2015-08-18 20:03:02.022 Week one[1364:37640] divided value: 61.77
答案 0 :(得分:5)
您正在使用numberWithInt:
来存储分部的结果;这会丢弃任何小数部分。
你最好使用NSNumber
拳击:
@([myNumber floatValue] / [toDivide floatValue])
编译器知道表达式的类型,并将为您使用正确的NSNumber
构造函数。