Necesito crear una cadena con formato que pueda convertir los tipos int, long, double, etc. en string. Usando Obj-C, puedo hacerlo de la siguiente manera.
NSString *str = [NSString stringWithFormat:@"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE, STRING_VALUE];
¿Cómo hacer lo mismo con Swift?
NSString
en elFoundation
marco . Entonces tienesimport Foundation
que hacer que esto funcione correctamente. De lo contrario, la expresión llamaráString.init<T>(T)
y producirá algo así en"(\"%@%x %x\", 10)"
lugar de.%@%x
significan los símbolos? ¿Puede señalarme un recurso donde pueda obtener más información al respecto?nada especial
fuente
Actualización: escribí esta respuesta antes de que Swift
String(format:)
agregara a su API. Use el método dado por la respuesta superior .fuente
String(format:arguments:)
sería más apropiado para agregar formato-stringWithFormat:
que le permite formatear. En Swift,String(format:arguments:)
sería la versión Swift de Obj-C's-stringWithFormat:
NSString
métodos aún no se implementaron en SwiftString
.No se
NSString
requiere!o
fuente
Yo diría que ambos
y
son aceptables ya que el usuario preguntó sobre el formato y ambos casos se ajustan a lo que están pidiendo:
Obviamente, el primero permite un control más fino sobre el formato que el segundo, pero eso no significa que el segundo no sea una respuesta aceptable.
fuente
fuente
Lea primero la documentación oficial para el lenguaje Swift.
La respuesta debería ser
aquí
1) Cualquier valor de coma flotante por defecto
double
-> Si desea mostrar el valor de coma flotante, entonces necesita definir explícitamente como
Esto es mucho más claro.
fuente
fuente
Sé que ha pasado mucho tiempo desde esta publicación, pero he caído en una situación similar y creo una clase simple para simplificar mi vida.
El siguiente enlace se envía al código fuente completo: https://gist.github.com/dedeexe/d9a43894081317e7c418b96d1d081b25
Esta solución se basó en este artículo: http://vojtastavik.com/2015/03/29/real-time-formatting-in-uitextfield-swift-basics/
fuente
Hay una solución simple que aprendí con "We <3 Swift" si no puede importar Foundation , use round () y / o no quiere una String :
resultado: 31.726
fuente
Use este siguiente código:
fuente
Éxito para probarlo:
fuente