J'ai le code de kotlin suivant pour le compte à rebours simple: Comment formater 1800 secondes code> à
30 min: 00 Sec < / code> à Kotlin fort>? p> p>
4 Réponses :
Le code suivant peut convertir de millisecondes (ce que vous avez initialement) à minutes et à des secondes: sortie: p> Si vous en avez strictement besoin de quelques secondes à quelques minutes et à quelques secondes, supprimez simplement la division supplémentaire de 1000. p> Le code pour cela sera: p> 30 min: 0 seconde CODE> P>
val milliseconds: Long = 1800000
val minutes = milliseconds / 1000 / 60
val seconds = milliseconds / 1000 % 60
println("{$minutes.toString().padStart(2, '0')} min : {$seconds.toString().padStart(2, '0')} sec")
Pourquoi cela est-il évoqué? Terminé pas le résultat souhaité: "Comment formater 1800 secondes au format SS"
@Sumit, merci beaucoup pour votre réponse, mais votre code ne fonctionne pas pour moi. Parce qu'il n'y a pas de rembourrage à 2 chiffres pendant des secondes et minutes lorsqu'il compte à zéro chiffre.
Oui désolé. manqué ce détail .. Le padstart mentionné par @forpas est correct. J'ai édité ma réponse pour inclure cela aussi.
Vous obtenez les chiffres par division entier et modulo ( imprimera p> % code>)
et le formatage à 2 chiffres avec
padstart () code>:
Merci beaucoup! Tu avais raison. Votre code fonctionne avec zéro-chiffres.
Puisque vous ciblez la JVM, vous devez utiliser l'API de date / heure Java 8. Vous pouvez créer une fonction très concise comme ceci: Recommandation: strong> p> Ne faites pas les calculs sur le site d'appel (dans C'est un calcul simple, mais utilisez ce que les bibliothèques standard vous donnent. Premièrement, le code est optimisé et d'autre part, vous pouvez facilement étendre la fonction pour calculer les heures et ainsi de suite. Un code non testé et rédigé à la main est sujet aux erreurs. P> li>
ul> p>
Ontictic code>). Cela rend le code inutile difficile à comprendre. Créer une fonction séparée pour cela. P> li>