NumberFormat can be reused and quite often the same can be used. So we should cache it per thread for performance reason. NumberFormat.getInstance is quite expensive if executed thousands of times.