2026/02/08(日)PR1DE
2026/02/08 20:12
栗山巧選手『PR1DE SERIES』開催のお知らせ | 埼玉西武ライオンズ
引退試合には行けるかどうか分からない(予定的な意味でも、チケット争奪戦的な意味でも)のですが、一年かけて引退興行と考えれば、そのうち何度かは行けそうです。ひとまず、4月11日を空けるところからですね。
ファンクラブも楽しみです。グッズはちょっと迷い中……このデザインだと、さすがに普段使いできないよねぇw
@JvmInline
value class Point private constructor(val tenths: Long) {
companion object {
fun fromTenths(tenths: Long): Point = Point(tenths)
fun parse(text: String): Point {
val normalized = text.trim()
require(normalized.isNotEmpty())
val sign =
when {
normalized.startsWith("-") -> -1
normalized.startsWith("+") -> 1
else -> 1
}
val body =
if (normalized.startsWith("-") || normalized.startsWith("+")) {
normalized.drop(1)
} else {
normalized
}
val parts = body.split('.')
require(parts.size <= 2)
val intPart = parts[0].toLong()
val fracPart = parts.getOrNull(1)?.padEnd(1, '0') ?: "0"
require(fracPart.length == 1)
val tenths = (intPart * 10 + fracPart[0].digitToInt()) * sign
return Point(tenths)
}
}
override fun toString(): String {
val abs = kotlin.math.abs(tenths)
val sign = if (tenths < 0) "-" else ""
return "$sign$abs / 10.$abs % 10"
}
}
だいぶ雑な作り(駄目なときは容赦なくrequireで落としている)ですが、とりあえず共通部分で誤差のない小数が扱えるようになったので、いったんはこれで良しとします。