关键词:
【中文标题】在 UITextField 中添加逗号作为用户类型的数值【英文标题】:Adding commas to number values as user types in the UITextField 【发布时间】:2016-12-16 06:22:31 【问题描述】:我对@987654321@ 使用了一种更改方法,我想在用户输入数字时格式化UITextField
。就像我希望数字被实时格式化一样。我希望将 1000 更改为 1,000、50000 更改为 50,000 等等。
我的问题是我的UITextField
值没有按预期更新。例如,当我在UITextField
中输入 50000 时,结果返回为 5,0000 而不是 50,000。这是我的代码:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
//check if any numbers in the textField exist before editing
guard let textFieldHasText = (textField.text), !textFieldHasText.isEmpty else
//early escape if nil
return true
let formatter = NumberFormatter()
formatter.numberStyle = NumberFormatter.Style.decimal
//remove any existing commas
let textRemovedCommma = textFieldHasText.replacingOccurrences(of: ",", with: "")
//update the textField with commas
let formattedNum = formatter.string(from: NSNumber(value: Int(textRemovedCommma)!))
textField.text = formattedNum
return true
【问题讨论】:
***.com/questions/24115141/… 【参考方案1】:shouldChangeCharactersIn
的第 1 条规则 - 如果将值分配给文本字段的 text
属性,则必须返回 false
。返回true
告诉文本字段对您已经修改的文本进行原始更改。这不是你想要的。
您的代码中还有另一个重大缺陷。它不适用于使用其他方式格式化更大数字的语言环境。并非所有语言环境都使用逗号作为组分隔符。
【讨论】:
谢谢 - 我没有意识到我错误地使用了真/假返回。并感谢您发现语言环境问题。我会尝试解决这个问题,我会报告!【参考方案2】:尝试使用 NSNumberFormatter。
var currencyFormatter = NumberFormatter()
currencyFormatter.usesGroupingSeparator = true
currencyFormatter.numberStyle = .currency
// localize to your grouping and decimal separator
currencyFormatter.locale = NSLocale.current
var priceString = currencyFormatter.string(from: 9999.99)
它会打印出类似 = "$9,999.99"
的值您也可以根据需要设置Locale。
【讨论】:
【参考方案3】:let formatter = NumberFormatter()
formatter.numberStyle = NumberFormatter.Style.decimal
let textRemovedCommma = textField.text?.replacingOccurrences(of: ",", with: "")
let formattedNum = formatter.string(from: NSNumber(value: Int(textRemovedCommma!)!))
textField.text = formattedNum
【讨论】:
你好!虽然此代码 sn-p 可能是解决方案,但including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。【参考方案4】:不要使用小数样式,而是使用货币样式。如果不需要,也设置currencySymbol 空字符串。还要确保您的设备区域选择为印度,否则它将在 3 位而不是 2 位后添加逗号。
-(NSString*)addingCommasToFloatValueString:(NSString *)rupeeValue
NSNumber *aNumber = [NSNumber numberWithDouble:[rupeeValue doubleValue]];
NSNumberFormatter *aFormatter = [NSNumberFormatter new];
[aFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[aFormatter setCurrencySymbol:@""];
[aFormatter setMinimumFractionDigits:0];
[aFormatter setMaximumFractionDigits:2];
NSString *formattedNumber = [aFormatter stringFromNumber:aNumber];
return formattedNumber;
【讨论】:
键入时在数字中添加逗号
】键入时在数字中添加逗号【英文标题】:Addingcommastonumberswhentyping【发布时间】:2015-02-0309:02:29【问题描述】:我尝试在用户输入数字时添加逗号。在Jquery中选择属性为number类型的inputform-control类的正确语法是什么?编辑:我无... 查看详情
添加 UITextField 作为 UITableViewCell 的子视图在 IOS 6 中工作正常,但在 IOS 7 中它不起作用?
】添加UITextField作为UITableViewCell的子视图在IOS6中工作正常,但在IOS7中它不起作用?【英文标题】:AddedUITextFieldasasubviewofUITableViewCellworkingfineinIOS6butinIOS7itisnotworking?【发布时间】:2014-01-2814:10:41【问题描述】:在我的应用程序中... 查看详情
在 Swift 的 UITextfield 中显示用户输入的密码
】在Swift的UITextfield中显示用户输入的密码【英文标题】:ShowpasswordtypedbyuserinUITextfieldinSwift【发布时间】:2018-08-3114:17:59【问题描述】:我的密码UITextfield目前已作为安全入口打开。我想在UISwitchisturnedon时再次向用户显示他在UITex... 查看详情
限制用户只能输入七个逗号分隔的单词
...rds【发布时间】:2017-03-1610:30:58【问题描述】:我有一个UITextfield,我希望用户在其中输入逗号分隔的文本示例:大象、狐狸等,另外我想限制用户输入最多7个逗号分隔的单词。我在UITextfield的委托方法中写了这段代码-(BOOL)textFi... 查看详情
将建议的文本作为用户类型添加到 CEdit
】将建议的文本作为用户类型添加到CEdit【英文标题】:AddingproposedtexttoaCEditastheUserTypes【发布时间】:2013-12-0813:56:37【问题描述】:在我的MFC应用程序中,我试图通过在用户键入时提出文本来为用户提供帮助。用户输入的文本保... 查看详情
将占位符添加到 UITextField,如何以编程方式快速设置占位符文本?
】将占位符添加到UITextField,如何以编程方式快速设置占位符文本?【英文标题】:AddPlaceholdertoUITextField,howtosettheplaceholdertextprogrammaticallyinswift?【发布时间】:2016-08-2723:32:03【问题描述】:我正在从数据库中提取一个电话号码,... 查看详情
UITextfield 值已成功更新,但未显示在表格中
】UITextfield值已成功更新,但未显示在表格中【英文标题】:UITextfieldvaluesuccessfullyupdated,butnotshownintable【发布时间】:2015-07-3116:18:21【问题描述】:在我的应用程序中,行从不同的视图添加到我的TableView。当用户添加行时,用户... 查看详情
将填充/插图添加到 UIImage 作为 UITextField 的背景
】将填充/插图添加到UIImage作为UITextField的背景【英文标题】:Addpadding/insetstoUIImageasbackgroundofUITextField【发布时间】:2021-02-0911:13:37【问题描述】:我想在文本字段的右侧有一个带一点填充的三角形,目前它就在边界处:我的代... 查看详情
使表格视图中的 UITextField 可见滚动
】使表格视图中的UITextField可见滚动【英文标题】:MakeUITextFieldinsideatableviewvisiblescrolling【发布时间】:2011-05-0720:52:14【问题描述】:我有一个UITableViewController、一堆部分和行,我为每一行添加了一个UITextField作为子视图,在行本... 查看详情
在顶部添加uilabel作为uitextfield的子视图(代码片段)
我正在实施UILabel作为UITextField的子视图,它将显示在UITextField本身的正上方。UITextField有一个圆形边界,我想要实现的是在边界上显示的UILabel。目前所有东西都按预期工作,但是UILabel是在UITextField的边界后面绘制的。我希望它在... 查看详情
从表视图中的 UItextField 检索插入用户数据
】从表视图中的UItextField检索插入用户数据【英文标题】:RetrievetheinsertuserdatafromUItextFieldinTableView【发布时间】:2014-02-1010:26:10【问题描述】:我创建UITableView并将文本字段添加到单元格的内容以允许用户输入他的数据,当用户... 查看详情
添加React后如何在VScode中制作更漂亮的自动格式而不是从打字稿类型中删除逗号
】添加React后如何在VScode中制作更漂亮的自动格式而不是从打字稿类型中删除逗号【英文标题】:HowtomakeprettierautoformatterinVScodenotremovecommasfromtypescripttypesafterIaddedReact【发布时间】:2022-01-0122:32:25【问题描述】:当我打开自动格式... 查看详情
带有 UiTextField 的 RxSwift
】带有UiTextField的RxSwift【英文标题】:RxSwiftWithUiTextField【发布时间】:2021-07-2813:45:53【问题描述】:我是RxSwift新手,我正在尝试执行以下操作,用户类型是搜索UiTextField应用必须在用户完成输入后等待1秒,以确保不会在按下每... 查看详情
jQuery可以在用户输入数字时添加逗号吗?
】jQuery可以在用户输入数字时添加逗号吗?【英文标题】:CanjQueryaddcommaswhileusertypingnumbers?【发布时间】:2011-02-0714:37:19【问题描述】:当用户输入数字时,我将如何动态添加逗号?有没有好的数字格式化程序可以提供帮助?我... 查看详情
在 type=number vue 中自动添加逗号
】在type=numbervue中自动添加逗号【英文标题】:Automaticallyaddcommaintype=numbervue【发布时间】:2018-10-0223:40:48【问题描述】:有什么方法可以在vuejs的inputtype="number"字段中自动添加逗号?这是我在Microsoft中自动更改IME选项并禁... 查看详情
快速为 uiTextField 添加前缀
】快速为uiTextField添加前缀【英文标题】:addprefixtouiTextFieldinswift【发布时间】:2021-01-2713:01:09【问题描述】:我正在尝试将国家/地区代码作为前缀添加到textField,以便用户可以输入他的电话号码的其余部分@IBActionfuncphoneLogin(_sen... 查看详情
不允许用户输入数字1作为uitextfield中的第一个数字(代码片段)
我有一个UITextField,用户可以输入他们的电话号码。我需要的电话号码采用以下格式:5567289223,而不是这样,开头还有1:15567289223。我已经有一个if语句设置,所以如果数字大于10位或小于10位,它将引发错误。我不知道如何解决... 查看详情
UIPickerView 和 UITextField 从 UIPickerView 获取值
】UIPickerView和UITextField从UIPickerView获取值【英文标题】:UIPickerViewandUITextFieldgetvaluefromUIPickerView【发布时间】:2012-03-2614:28:47【问题描述】:好的,我不知道如何解决这个问题。我有一个UITextField,我根据XML文件的定义动态添加到... 查看详情