May*_*323 2 cocoa-touch uitextfield keypad ios
我有三个视图控制器的应用程序.首先是带有三个UITextField的UIViewController,用户放置一些数字.这些数字作为String属性存储在我的CoreData实体中.
其次是UITableView,我将CoreData中存储的数据显示为新单元格.第三个是详细的UIViewController,其中我向用户显示他以前插入的所有数字.问题是当我设置textField小数位时,用户有数字和逗号,但我的函数需要带有点的数字进行双精度计算.用逗号我不能做数学函数,[.....] * [...] = ....
因为它不起作用.
知道怎么弄清楚吗?我可以简单地将逗号更改为点吗?
我有这个代码:
NSNumberFormatter*nf = [[NSNumberFormatter alloc]init];
[nf setNumberStyle:NSNumberFormatterDecimalStyle];
double result = [myString doubleValue] * [myOtherString doubleValue];
Run Code Online (Sandbox Code Playgroud)
您希望小数键盘具有逗号或基于用户区域设置的句点(点).这样用户就可以按照习惯输入值.为了使用vales进行数学运算,您需要使用a NSNumberFormatter
将输入的字符串转换为double
值.一旦你这样做,你的数学公式将起作用.切勿使用doubleValue
或floatValue
转换NSString
为double
或者float
如果用户输入了字符串.始终使用NSNumberFormatter
正确处理用户的区域设置.
根据添加到问题的代码进行更新.
您不使用数字格式化程序.你正在做我刚才所说的事情.将您的代码更改为:
double firstValue = [[nf numberFromString:myString] doubleValue];
double secondValue = [[nf numberFromString:myOtherString] doubleValue];
double result = firstValue * secondValue;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2594 次 |
最近记录: |