Use cdecimal to speedup
Fix overflow in GetDataDecimal