0

我正在用 C(在 Linux 下)编写一个处理价格的应用程序。程序以整数对 (m, e) 的形式接收报价,因此结果价格只是 'm * 10^e'。

我希望能够通过算术运算来操纵价格,并使用类似“ printf ”的函数来格式化输出。我必须非常快地做到这一点。

在 C 中处理小数的最快方法是什么?我读过gcc 中的 Decimal Floats,但它们缺乏 libc 支持使它们无法以标准方式使用。谢谢你。

4

2 回答 2

1

You can of course use a library such as GMP, it supports arbitrary floating-point precision so it should be able to deal with your data.

于 2013-03-21T10:16:52.553 回答
1

If your prices are always at the most to 2 decimal places then you can just use integers to represent the number of cents. printf is also simple with

printf("%d.%02d", price/100, price%100 );
于 2013-03-21T10:20:29.307 回答