core :: Int :: digit_count_base_10
# Optimized version for base 10
fun digit_count_base_10: Int
do
var val: Int
var result: Int
if self < 0 then
result = 2
val = -self
else
result = 1
val = self
end
loop
if val < 10 then return result
if val < 100 then return result+1
if val < 1000 then return result+2
if val < 10000 then return result+3
val = val / 10000
result += 4
end
end
lib/core/kernel.nit:837,2--857,4