草庐IT

numberformatter

全部标签

swift - NumberFormatter 的 generatesDecimalNumbers 不起作用

我的函数是将字符串转换为十进制数funcgetDecimalFromString(_strValue:String)->NSDecimalNumber{letformatter=NumberFormatter()formatter.maximumFractionDigits=1formatter.generatesDecimalNumbers=truereturnformatter.number(from:strValue)as?NSDecimalNumber??0}但它没有按预期工作。有时它像这样返回Optional(8.300000000000001)Optional(8.1999

ios - Swift iOS - 将货币格式的字符串转换为数字

我已经使用NumberFormatter类将数字转换为货币格式的字符串(例如2000->£2,000.00)。但是,我需要一种将格式化字符串转换回数字的方法(例如£2,000.00->2000)。事实证明,简单地通过格式化程序运行它是行不通的,只会产生nil。有谁知道实现此目标的最佳方法? 最佳答案 Swift4:以下字符串扩展有助于将货币格式的字符串转换为十进制或double。该方法自动识别大多数常见货币的数字格式。字符串必须没有货币符号(€、$、£、...):ForExample:USformattedstring:"11.23

iOS 图表 ValueFormatter

我正在使用iOS图表插件(折线图)并希望将图表值(每个点上方的数字)设置为十进制数。该值为double值,但图表默认对其进行四舍五入并将其显示为整数。我尝试了以下方法但没有用:letvalueformatter=NumberFormatter()valueformatter.numberStyle=.decimalvalueformatter.locale=Locale.currentlineChartDataSet.valueFormatter=valueformatteras?IValueFormatter我尝试了各种其他属性,但没有一个会改变数据集中数字的格式。如何更改显示数字的

swift - Xcode 8.0 和 Swift 3.0 转换 : Looking for explanation for a particular conversion error

我对转换错误有点困惑。我将我的项目从Swift2.3迁移到Swift3.0funcupdateCelsiusLabel(){ifletvalue=celsiusValue{//Thiswastheoriginalcode(thatworkedbutis)failingaftermigration//dueto:ArgumentlabelsdonotmatchanyavailableoverloadscelsiusLabel.text=numberFormatter.string(from:NSNumber(value))//Thisismycodetryingtofixthisissu

swift - 如何在 Swift 3 中格式化小数

我正在尝试使用SwiftDecimal结构进行货币操作,但我无法对其进行格式化。如何格式化varmyDecimal:Decimal=9999.99以显示$9,999.99?如果不使用Decimal,我可以按如下方式进行...letmyTotal:NSNumber=9999.99letcurrencyFormatter=NumberFormatter()currencyFormatter.usesGroupingSeparator=truecurrencyFormatter.numberStyle=.currencycurrencyFormatter.locale=NSLocale.cu

ios - 使用千位分隔符格式化 Int64

我已经使用下面的代码成功地用千位分隔符格式化了Int。但是我当前的项目要求Int64以相同的方式格式化,它抛出错误'Int64'isnotconvertibleto'NSNumber'varnumberFormatter:NSNumberFormatter{letformattedNumber=NSNumberFormatter()formattedNumber.numberStyle=.DecimalStyleformattedNumber.maximumFractionDigits=0returnformattedNumber} 最佳答案

ios - UITextField 数字小键盘 : dot instead of comma for float values

我正在使用由数字键盘填充的文本字段。问题是,有很多本地区域格式(例如所有欧洲格式),UITextField的数字键盘用逗号代替点,所以每次我写十进制数时,UITextField无法识别小数点逗号和它的整数;例如23,07变成23。我该如何解决这个问题?我想将textField设置为固定在美国;可能吗?怎么办?我使用这个读取值:varimporto=(importoPrevistoTF.textasNSString).floatValue 最佳答案 swift4extensionString{staticletnumberFormat

ios - NSNumberFormatter 货币符号

我的应用程序允许用户选择各种货币来跟踪支出。我有一个标签显示带有货币符号的金额。我使用NSNumberFormatter和kCFNumberFormatterCurrencyStyle来格式化金额字符串并将其显示在标签中;numberFormatter=[[NSNumberFormatteralloc]init];numberFormatter.numberStyle=kCFNumberFormatterCurrencyStyle;numberFormatter.currencyCode=@"EUR";我的目标是用不同的颜色显示货币符号,所以我使用NSAttributedString,

ios - NSNumberFormatter 货币符号

我的应用程序允许用户选择各种货币来跟踪支出。我有一个标签显示带有货币符号的金额。我使用NSNumberFormatter和kCFNumberFormatterCurrencyStyle来格式化金额字符串并将其显示在标签中;numberFormatter=[[NSNumberFormatteralloc]init];numberFormatter.numberStyle=kCFNumberFormatterCurrencyStyle;numberFormatter.currencyCode=@"EUR";我的目标是用不同的颜色显示货币符号,所以我使用NSAttributedString,

ios - 如何在 NSString 中使用千位分隔符

NSString就像“1000.00”和“1008977.72”,如何将它们格式化为“1,000.00”和“1,008,977.00”这是我的问题,请帮我解决这个问题,在此先感谢您。 最佳答案 我这样做的时间不长。这是代码:NSNumberFormatter*numberFormatter=[[NSNumberFormatteralloc]init];[numberFormattersetGroupingSeparator:@","];[numberFormattersetGroupingSize:3];[numberFormatt