在本文中,我们将给您介绍关于在Swift中将String转换为Float的详细内容,并且为您解答swiftstring转float的相关问题,此外,我们还将为您提供关于arduino–如何将Strin
在本文中,我们将给您介绍关于在Swift中将String转换为Float的详细内容,并且为您解答swift string转float的相关问题,此外,我们还将为您提供关于arduino – 如何将String转换为float或int?、ios – 在Swift中将arabic String转换为英文数字、java:将float转换为String并将String转换为float、string – 如何在Swift中将“Index”转换为“Int”类型?的知识。
本文目录一览:- 在Swift中将String转换为Float(swift string转float)
- arduino – 如何将String转换为float或int?
- ios – 在Swift中将arabic String转换为英文数字
- java:将float转换为String并将String转换为float
- string – 如何在Swift中将“Index”转换为“Int”类型?
在Swift中将String转换为Float(swift string转float)
我正在尝试转换从UITextField中获取的数字(我认为这些数字实际上是字符串),并将其转换为Float,因此我可以将它们相乘。
我有两个UITextfield
声明如下:
@IBOutlet var wage: UITextField@IBOutlet var hour: UITextField
当用户按下UIButton时,我想计算用户赚取的工资,但是我不能,因为我需要先将其转换为浮动工资,然后才能使用它们。
我知道如何通过执行以下操作将它们转换为整数:
var wageConversion:Int = 0wageConversion = wage.text.toInt()!
但是,我不知道如何将它们转换为浮点数。
答案1
小编典典迅捷2.0+
现在,在 Swift 2.0中, 您可以仅使用Float(Wage.text)
returnFloat?
类型。比下面返回的解决方案更清晰0
。
如果出于某种原因想要0
无效值,则Float
可以使用Float(Wage.text) ?? 0
该值,如果无效则返回0
该值Float
。
旧解决方案
解决此问题的最佳方法是直接投射:
var WageConversion = (Wage.text as NSString).floatValue
我实际上也创建了一个extension
更好地使用它的方法:
extension String { var floatValue: Float { return (self as NSString).floatValue }}
现在,您可以呼叫var WageConversion = Wage.text.floatValue
并允许分机为您处理网桥!
这是一个很好的实现,因为它可以处理实际的浮点数(使用进行输入.
),并且还有助于防止用户将文本复制到您的输入字段(12p.34
或什至12.12.41
)中。
显然,如果Apple确实floatValue
在Swift
中添加了,则会抛出异常,但与此同时可能会很好。如果他们稍后添加了它,那么只需修改扩展名,您只需要做的就是删除扩展名,一切将无缝进行,因为您已经在调用了.floatValue
!
另外,变量和常量应以小写字母开头(包括IBOutlets
)
arduino – 如何将String转换为float或int?
我试过int gpslong = atoi(curlongitude)和float gpslong = atof(curlongitude),但它们都会导致Arduino给出错误:
error: cannot convert 'String' to 'const char*' for argument '1' to 'int atoi(const char*)'
有没有人有什么建议?
解决方法
toInt
(例如curlongitude.toInt())从String获取一个int.
如果你想要一个浮点数,你可以使用atof与toCharArray
方法:
char floatbuf[32]; // make this at least big enough for the whole string curLongitude.tochararray(floatbuf,sizeof(floatbuf)); float f = atof(floatbuf);
ios – 在Swift中将arabic String转换为英文数字
斯威夫特的“3486912881”到“3486912881”
或者我想接受英文数字并获得其他人.
在Java Android中,这段代码对我有用:
private static String arabicToDecimal(String number) { char[] chars = new char[number.length()]; for(int i=0;i<number.length();i++) { char ch = number.charat(i); if (ch >= 0x0660 && ch <= 0x0669) ch -= 0x0660 - '0'; else if (ch >= 0x06f0 && ch <= 0x06F9) ch -= 0x06f0 - '0'; chars[i] = ch; } return new String(chars); }
解决方法
let NumberStr: String = "٢٠١٨-٠٦-٠٤" let Formatter = NumberFormatter() Formatter.locale = NSLocale(localeIdentifier: "EN") as Locale! let final = Formatter.number(from: NumberStr) if final != 0 { print("\(final!)") }
产量
java:将float转换为String并将String转换为float
如何从float转换为string或从string转换为float?
在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。
String valueFromTable = "25";Float valueCalculated =25.0;
我尝试从浮动到字符串:
String sSelectivityRate = String.valueOf(valueCalculated );
但是断言失败
答案1
小编典典使用Java的Float
类。
float f = Float.parseFloat("25");String s = Float.toString(25.0f);
为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!=“ 25.0”!=“ 25.00”等)。
string – 如何在Swift中将“Index”转换为“Int”类型?
var letters = "abcdefg" let index = letters.characters.indexOf("c")! // ERROR: Cannot invoke initializer for type 'Int' with an argument list of type '(String.CharacterView.Index)' let intValue = Int(index) // I want the integer value of the index (e.g. 2)
任何帮助表示赞赏.
let intValue = letters.startIndex.distanceto(index)
您还可以使用方法扩展String以返回字符串中第一次出现的字符,如下所示:
extension String { func indexdistanceOfFirst(character character: Character) -> Int? { guard let index = characters.indexOf(character) else { return nil } return startIndex.distanceto(index) } } let letters = "abcdefg" let char: Character = "c" if let index = letters.indexdistanceOfFirst(character: char) { print("character \(char) was found at position #\(index)") // "character c was found at position #2\n" } else { print("character \(char) was not found") }
Xcode 8•Swift 3
let letters = "abcdefg" if let index = letters.characters.index(of: "c") { let distance = letters.distance(from: letters.startIndex,to: index) print("distance:",distance) }
extension String { func indexdistance(of character: Character) -> Int? { guard let index = characters.index(of: character) else { return nil } return distance(from: startIndex,to: index) } }
let letters = "abcdefg" let char: Character = "c" if let index = letters.indexdistance(of: char) { print("character \(char) was found at position #\(index)") // "character c was found at position #2\n" } else { print("character \(char) was not found") }
Xcode 9•Swift 4
let letters = "abcdefg" if let index = letters.index(of: "c") { let distance = letters.distance(from: letters.startIndex,distance) }
extension String { func indexdistance(of character: Character) -> Int? { guard let index = index(of: character) else { return nil } return distance(from: startIndex,to: index) } }
Swift 4中另一种可能的方法是返回index encodedOffset:
extension String { func encodedOffset(of character: Character) -> Int? { return index(of: character)?.encodedOffset } func encodedOffset(of string: String) -> Int? { return range(of: string)?.lowerBound.encodedOffset } }
let letters = "abcdefg" let char: Character = "c" if let index = letters.encodedOffset(of: char) { print("character \(char) was found at position #\(index)") // "character c was found at position #2\n" } else { print("character \(char) was not found") }
关于在Swift中将String转换为Float和swift string转float的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于arduino – 如何将String转换为float或int?、ios – 在Swift中将arabic String转换为英文数字、java:将float转换为String并将String转换为float、string – 如何在Swift中将“Index”转换为“Int”类型?等相关知识的信息别忘了在本站进行查找喔。
本文标签: