Eu preciso criar uma string com formato que possa converter tipos int, long, double etc. em string. Usando Obj-C, eu posso fazer isso abaixo.
NSString *str = [NSString stringWithFormat:@"%d , %f, %ld, %@", INT_VALUE, FLOAT_VALUE, DOUBLE_VALUE, STRING_VALUE];
Como fazer o mesmo com o swift?
NSString
noFoundation
quadro . Então você precisaimport Foundation
fazer isso funcionar corretamente. Caso contrário, a expressão chamaráString.init<T>(T)
e produzirá algo como em"(\"%@%x %x\", 10)"
vez de.%@%x
significam símbolos? Você pode me indicar um recurso em que eu possa aprender mais sobre isso?nada especial
fonte
Atualização: escrevi esta resposta antes que o Swift fosse
String(format:)
adicionado à sua API. Use o método fornecido pela resposta superior .fonte
String(format:arguments:)
seria mais apropriado para adicionar formatação-stringWithFormat:
que permite a formatação. Em Swift,String(format:arguments:)
seria a versão Swift dos Obj-C's-stringWithFormat:
NSString
métodos ainda não foram implementados no SwiftString
.Não é
NSString
necessário!ou
fonte
Eu argumentaria que ambos
e
são aceitáveis, pois o usuário perguntou sobre formatação e os dois casos se encaixam no que estão solicitando:
Obviamente, o primeiro permite um controle mais preciso sobre a formatação do que o último, mas isso não significa que o último não seja uma resposta aceitável.
fonte
fonte
Leia primeiro a documentação oficial para o idioma Swift.
A resposta deve ser
Aqui
1) Qualquer valor de ponto flutuante por padrão
double
-> Se você deseja exibir o valor do ponto flutuante, precisa definir explicitamente como um
Isso é muito mais claro.
fonte
fonte
Sei que já passou muito tempo desde a publicação, mas caí em uma situação semelhante e criei uma classe simples para simplificar minha vida.
O link a seguir é enviado para o código-fonte completo: https://gist.github.com/dedeexe/d9a43894081317e7c418b96d1d081b25
Esta solução foi baseada neste artigo: http://vojtastavik.com/2015/03/29/real-time-formatting-in-uitextfield-swift-basics/
fonte
Há uma solução simples que aprendi com "We <3 Swift" se você não pode importar o Foundation , use round () e / ou não deseja uma String :
resultado: 31.726
fonte
Use este código a seguir:
fonte
Sucesso ao tentar:
fonte