处理C中的小数

时间:2013-03-21 10:11:09

标签: c linux floating-point

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

我希望能够通过算术运算来操纵价格并使用“ printf ” - 就像格式化输出一样。我必须这么快。

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

2 个答案:

答案 0 :(得分:1)

您当然可以使用GMP之类的库,它支持任意浮点精度,因此它应该能够处理您的数据。

答案 1 :(得分:1)

如果您的价格总是最多2位小数,那么您可以使用整数来表示分数。

,printf也很简单
printf("%d.%02d", price/100, price%100 );