Comment puis-je convertir un Int
à une longueur de 7 caractères String
de sorte que 123
est transformé en "0000123"
?
Réponses
Trop de publicités?
som-snytt
Points
17224
Au cas où ces questions/réponses deviendraient le compendium canonique,
scala> import java.text._
import java.text._
scala> NumberFormat.getIntegerInstance.asInstanceOf[DecimalFormat]
res0: java.text.DecimalFormat = java.text.DecimalFormat@674dc
scala> .applyPattern("0000000")
scala> res0.format(123)
res2: String = 0000123
0__
Points
23597
Avez-vous besoin de traiter des nombres négatifs ? Si non, je ferais simplement
def str(i: Int) = (i % 10000000 + 10000000).toString.substring(1)
ou
def str(i: Int) = { val f = "000000" + i; f.substring(f.length() - 7) }
Sinon, vous pouvez utiliser NumberFormat
:
val nf = java.text.NumberFormat.getIntegerInstance(java.util.Locale.US)
nf.setMinimumIntegerDigits(7)
nf.setGroupingUsed(false)
nf.format(-123)
Przemysław Sajnóg
Points
61
- Réponses précédentes
- Plus de réponses