ISO 8583 Parser
Free · 每日一学 · 1 分钟Daily basics · 1 min

金额为什么没有小数点?Why Do Amounts Have No Decimal Point?

报文里金额(DE4)长这样:000000001000。它没有小数点,而是用"货币的最小单位"(如分)表示的整数。到底多少钱,要看货币代码(DE49)有几位小数。 The amount in a message (DE4) looks like 000000001000. It has no decimal point — it's an integer in the currency's minor units (e.g. cents). How much it actually is depends on how many decimals the currency code (DE49) has.

同样的数字,不同货币不同金额Same digits, different currencies

DE4 原值Raw DE4货币(小数位)Currency (decimals)实际金额Actual amount
000000001000SGD / USD (2)10.00
000000001000JPY (0)1000
000000001000BHD (3)1.000

换算公式:实际金额 = 原值 ÷ 10小数位。小数位由 ISO 4217 货币码规定(大多数是 2 位,日元 0 位,部分中东货币 3 位)。Formula: actual = raw ÷ 10decimals. The decimal count comes from the ISO 4217 currency (most are 2; JPY is 0; some Middle-East currencies are 3).

一句话记住:报文金额是"分"级别的整数,别直接当元读;换算前先看 DE49 货币码有几位小数,否则会差 100 倍。Remember: the amount is an integer in minor units — don't read it as major units. Check DE49's decimals before converting, or you'll be off by 100×.

👉 本站解析工具会自动按货币码把金额换算好显示。相关:字段速查(DE4/DE49)。👉 The parser tool auto-converts the amount by currency. Related: field reference (DE4/DE49).