如何在软件中表示非十进制货币?

dan*_*n04 6 currency decimal

很多关于准确性的问题的答案,floatdouble建议使用decimal货币金额.这是有效的,因为今天所有货币都是十进制的,除了MGAMRO,那些具有1/5的子单元仍然是十进制友好的.

但是,当价格是美元的1/16时,美国股票市场使用的软件呢?二进制数据类型的准确性不会成为问题,对吧?

更进一步说,1971年以前的英国会计软件是如何处理英镑,先令和便士的?他们的COBOL版本是否有特殊PIC条款?所有金额都存储在便士中吗?如何处理十进制?

Jon*_*ler 4

PL/I 有一种专门针对英国货币的类型 - 我不知道 COBOL。英国货币曾一度包含法新(farthing),即四分之一便士;我不确定计算机是否必须用半便士或半便士来处理这些问题。

准确的会计通常使用特殊类型——准确地表示小数。新的 IEEE 754 支持浮点小数,并且某些芯片(特别是 IBM pSeries)在硬件中具有此类支持。