sustituir por palabras emojis color ios swift ios8

ios - por - ¿Cómo crear una cadena con formato?



sustituir palabras por emojis en whatsapp android (12)

Éxito para probarlo:

var letters:NSString = "abcdefghijkl" var strRendom = NSMutableString.stringWithCapacity(strlength) for var i=0; i<strlength; i++ { let rndString = Int(arc4random() % 12) //let strlk = NSString(format: <#NSString#>, <#CVarArg[]#>) let strlk = NSString(format: "%c", letters.characterAtIndex(rndString)) strRendom.appendString(String(strlk)) }

Necesito crear una cadena con formato que pueda convertir tipos int, largo, doble, etc. en una cadena. Usando Obj-C, puedo hacerlo por debajo.

NSString *str = [NSString stringWithFormat:@"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE, STRING_VALUE];

¿Cómo hacer lo mismo con Swift?


¡No se requiere NSString !

String(format: "Value: %3.2f/tResult: %3.2f", arguments: [2.7, 99.8])

o

String(format:"Value: %3.2f/tResult: %3.2f", 2.7, 99.8)


Creo que esto podría ayudarte:

let timeNow = time(nil) let aStr = String(format: "%@%x", "timeNow in hex: ", timeNow) print(aStr)


Hay una solución simple que aprendí con "We <3 Swift" si no puedes importar Foundation , usar round () y / o no quieres un String :

var number = 31.726354765 var intNumber = Int(number * 1000.0) var roundedNumber = Double(intNumber) / 1000.0

resultado: 31.726


Primero lea la documentación oficial para el lenguaje Swift.

La respuesta debe ser

var str = "/(INT_VALUE) , /(FLOAT_VALUE) , /(DOUBLE_VALUE), /(STRING_VALUE)" println(str)

aquí

1) Cualquier valor de coma flotante por defecto double

EX. var myVal = 5.2 // its double by default;

-> Si desea visualizar el valor del punto flotante, entonces necesita definir explícitamente tal como un

EX. var myVal:Float = 5.2 // now its float value;

Esto es mucho más claro.


Sé que ha pasado mucho tiempo desde esta publicación, pero he caído en una situación similar y he creado una clase simple para simplificar mi vida.

public struct StringMaskFormatter { public var pattern : String = "" public var replecementChar : Character = "*" public var allowNumbers : Bool = true public var allowText : Bool = false public init(pattern:String, replecementChar:Character="*", allowNumbers:Bool=true, allowText:Bool=true) { self.pattern = pattern self.replecementChar = replecementChar self.allowNumbers = allowNumbers self.allowText = allowText } private func prepareString(string:String) -> String { var charSet : NSCharacterSet! if allowText && allowNumbers { charSet = NSCharacterSet.alphanumericCharacterSet().invertedSet } else if allowText { charSet = NSCharacterSet.letterCharacterSet().invertedSet } else if allowNumbers { charSet = NSCharacterSet.decimalDigitCharacterSet().invertedSet } let result = string.componentsSeparatedByCharactersInSet(charSet) return result.joinWithSeparator("") } public func createFormattedStringFrom(text:String) -> String { var resultString = "" if text.characters.count > 0 && pattern.characters.count > 0 { var finalText = "" var stop = false let tempString = prepareString(text) var formatIndex = pattern.startIndex var tempIndex = tempString.startIndex while !stop { let formattingPatternRange = formatIndex ..< formatIndex.advancedBy(1) if pattern.substringWithRange(formattingPatternRange) != String(replecementChar) { finalText = finalText.stringByAppendingString(pattern.substringWithRange(formattingPatternRange)) } else if tempString.characters.count > 0 { let pureStringRange = tempIndex ..< tempIndex.advancedBy(1) finalText = finalText.stringByAppendingString(tempString.substringWithRange(pureStringRange)) tempIndex = tempIndex.advancedBy(1) } formatIndex = formatIndex.advancedBy(1) if formatIndex >= pattern.endIndex || tempIndex >= tempString.endIndex { stop = true } resultString = finalText } } return resultString } }

El siguiente enlace se envía al código fuente completo: https://gist.github.com/dedeexe/d9a43894081317e7c418b96d1d081b25

Esta solución se basaba en este artículo: http://vojtastavik.com/2015/03/29/real-time-formatting-in-uitextfield-swift-basics/


Use este siguiente código:

let intVal=56 let floatval:Double=56.897898 let doubleValue=89.0 let explicitDaouble:Double=89.56 let stringValue:"Hello" let stringValue="String:/(stringValue) Integer:/(intVal) Float:/(floatval) Double:/(doubleValue) ExplicitDouble:/(explicitDaouble) "


Yo diría que ambos

let str = String(format:"%d, %f, %ld", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE)

y

let str = "/(INT_VALUE), /(FLOAT_VALUE), /(DOUBLE_VALUE)"

son aceptables ya que el usuario preguntó sobre el formato y ambos casos se ajustan a lo que están pidiendo:

Necesito crear una cadena con formato que pueda convertir tipos int, largo, doble, etc. en una cadena.

Obviamente, el primero permite un control más fino sobre el formato que el segundo, pero eso no significa que el último no sea una respuesta aceptable.


nada especial

let str = NSString(format:"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, LONG_VALUE, STRING_VALUE)


let INT_VALUE=80 let FLOAT_VALUE:Double= 80.9999 let doubleValue=65.0 let DOUBLE_VALUE:Double= 65.56 let STRING_VALUE="Hello" let str = NSString(format:"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE, STRING_VALUE); println(str);


let str = "/(INT_VALUE), /(FLOAT_VALUE), /(DOUBLE_VALUE), /(STRING_VALUE)"


var str = "/(INT_VALUE) , /(FLOAT_VALUE) , /(DOUBLE_VALUE), /(STRING_VALUE)"