将文本字段值转换为双倍
Posted
技术标签:
【中文标题】将文本字段值转换为双倍【英文标题】:cast textfield value to double 【发布时间】:2010-09-16 19:43:06 【问题描述】:我想对从文本字段中获得的值求和。 如何将文本字段值转换为双精度值?
问候卡格拉尔
【问题讨论】:
没有从 Objective-C 对象到原始类型的强制转换,所以这不是你要找的。span> 【参考方案1】:看到这个问题:How to do string conversions in Objective-C?
double myDouble = [myTextField.text doubleValue];
【讨论】:
谢谢你。我检查了你的链接。但它们对整数值求和。如何对双精度值求和? 在您的视图控制器中,为 sum 设置一个 double 属性,例如“@property (assign) double sum;”。在您的 init 方法中,设置“self.sum = 0.0;”。然后,要在输入值时求和,您可能会有一个用户在输入每个数字后按下的按钮。该按钮应该触发一个方法(如果您使用的是笔尖,则通过 IBAction)将执行“self.sum = self.sum + [myTextField.text doubleValue];”它还应该清除文本字段,例如“ myTextField.text = @""; " 当然你也可以重置“self.sum = 0.0;”在适当的时候,例如当用户按下“重置”按钮时【参考方案2】:您可以使用doubleValue
将 NSString(来自您的文本字段)转换为 double,如下所示:
double myDouble = [myTextField.text doubleValue];
顺便说一句,这不是演员表,而是转换。 doubleValue
方法执行从字符串到双精度表示的转换。强制转换是您只能在 Objective-C 中对原始数字类型或指针执行的操作。
【讨论】:
【参考方案3】:将文本字段中输入的文本转换为整数
double mydouble=[_myTextfield.text doubleValue];
四舍五入到最接近的双精度
mydouble=(round(mydouble));
四舍五入到最接近的整数(只考虑正值)
int myint=(int)(mydouble);
从双精度转换为字符串
myLabel.text=[NSString stringWithFormat:@"%f",mydouble];
或
NSString *mystring=[NSString stringWithFormat:@"%f",mydouble];
从int转换为字符串
myLabel.text=[NSString stringWithFormat:@"%d",myint];
或
NSString *mystring=[NSString stringWithFormat:@"%f",mydouble];
【讨论】:
以上是关于将文本字段值转换为双倍的主要内容,如果未能解决你的问题,请参考以下文章