C :将精度设置为变量,不仅用于couting

C++: Setting precision to a variable, not only for couting

本文关键字:用于 couting 变量 精度 设置      更新时间:2023-10-16

我有一个自我堆栈,我正在为其编写一个方法push()。我将一个数字推到堆栈上,有时是INT,有时是双倍的。两倍时,我有另一个变量说它应该具有什么精度(昏迷后有多少个数字)。

假设我有变量d = 7,39518和prec = 3,我可以以某种方式将d的精度设置为prec的值,所以结果是d = 7,395的值?

我知道该如何用于代表,但是如何更改实际变量?

核心语言和标准库都不提供这样的类型。

在其他语言和库中,它被称为A DECIMAL 类型,而更多的是,例如在计算机科学中,作为A 固定点类型。例如。C#具有128位decimal类型,Windows API提供了64位DECIMAL类型(类型OLE自动化集的一部分)。本质上,一个值由数字的签名整数组成,要么是指定小数数量的小整数,要么是在编译时间指定的值的知识。

您可以自己轻松地实现此类类型,但是Boost库提供cpp_dec_float


有关浮点的更多一般信息,请搜索每个科学家对浮点的了解。