网上看到荷兰政府 DigiD 数字认证的一段代码:
private static string GetPercentageRounds(double percentage)
{
if (percentage == 0)
return "⚪⚪⚪⚪⚪⚪⚪⚪⚪⚪";
if (percentage > 0.0 && percentage <= 0.1)
return "🔵⚪⚪⚪⚪⚪⚪⚪⚪⚪";
if (percentage > 0.1 && percentage <= 0.2)
return "🔵🔵⚪⚪⚪⚪⚪⚪⚪⚪";
if (percentage > 0.2 && percentage <= 0.3)
return "🔵🔵🔵⚪⚪⚪⚪⚪⚪⚪";
if (percentage > 0.3 && percentage <= 0.4)
return "🔵🔵🔵🔵⚪⚪⚪⚪⚪⚪";
if (percentage > 0.4 && percentage <= 0.5)
return "🔵🔵🔵🔵🔵⚪⚪⚪⚪⚪";
if (percentage > 0.5 && percentage <= 0.6)
return "🔵🔵🔵🔵🔵🔵⚪⚪⚪⚪";
if (percentage > 0.6 && percentage <= 0.7)
return "🔵🔵🔵🔵🔵🔵🔵⚪⚪⚪";
if (percentage > 0.7 && percentage <= 0.8)
return "🔵🔵🔵🔵🔵🔵🔵🔵⚪⚪";
if (percentage > 0.8 && percentage <= 0.9)
return "🔵🔵🔵🔵🔵🔵🔵🔵🔵⚪";
return "🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵";
}
感觉有点意思,顺手写个 Kotlin 版的:
fun getPercentageRounds(percentage: Double): String {
return if (percentage <= 0.0) {
"⚪⚪⚪⚪⚪⚪⚪⚪⚪⚪"
} else if (percentage >= 1.0) {
"🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵"
} else {
val count = ceil(percentage * 10).toInt()
"🔵".repeat(count) + "⚪".repeat(10 - count)
}
}
或者
fun getPercentageRounds(percentage: Double): String {
if (percentage <= 0.0) return "⚪⚪⚪⚪⚪⚪⚪⚪⚪⚪"
if (percentage <= 0.1) return "🔵⚪⚪⚪⚪⚪⚪⚪⚪⚪"
if (percentage <= 0.2) return "🔵🔵⚪⚪⚪⚪⚪⚪⚪⚪"
if (percentage <= 0.3) return "🔵🔵🔵⚪⚪⚪⚪⚪⚪⚪"
if (percentage <= 0.4) return "🔵🔵🔵🔵⚪⚪⚪⚪⚪⚪"
if (percentage <= 0.5) return "🔵🔵🔵🔵🔵⚪⚪⚪⚪⚪"
if (percentage <= 0.6) return "🔵🔵🔵🔵🔵🔵⚪⚪⚪⚪"
if (percentage <= 0.7) return "🔵🔵🔵🔵🔵🔵🔵⚪⚪⚪"
if (percentage <= 0.8) return "🔵🔵🔵🔵🔵🔵🔵🔵⚪⚪"
if (percentage <= 0.9) return "🔵🔵🔵🔵🔵🔵🔵🔵🔵⚪"
return "🔵🔵🔵🔵🔵🔵🔵🔵🔵🔵"
}
😏