将文本字段值转换为双倍

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];

【讨论】:

以上是关于将文本字段值转换为双倍的主要内容,如果未能解决你的问题,请参考以下文章

将 Elastic Search 数字字段转换为文本值

将存储在表字段(没有引用表)中的选项值转换为相应的文本

双倍小数分隔符 WPF

无法将“NSTaggedPointerString”类型的值转换为数组

输入时如何将文本字段格式设置为十进制?

如何将 MongoDB 中的属性从文本类型转换为日期类型?