相关疑难解决方法(0)

浮动或双重特殊值

我有双(或浮点)变量,可能是"空",如没有有效值.如何使用内置类型float和double来表示这种情况?

一个选项是一个包含浮点数和布尔值的包装器,但这不起作用,因为我的库有容器存储双精度而不是表现为双精度的对象.另一个是使用NaN(std :: numeric_limits).但我认为无法检查变量是否为NaN.

如何解决需要"特殊"浮点值来表示数字以外的其他问题?

c++ floating-point double

5
推荐指数
2
解决办法
5394
查看次数

如何检查无限(1.#INF)和无限(1.#IND)数字?

template <class T>
MyClass
{
    public:
        // ...

        void MyMethod(T dbNumber)
        {
            // ...

            T dbResult = do_some_operation_on_dbnumber(dbNumber);

            if (IsInfinite(dbResult))
            {
                // ...
            }
            else if (IsIndefinite(dbResult))
            {
                // ...
            }
            else
            {
                // ...
            }

            // ...
        }

        static bool IsInfinite(T dbNumber)
        {
            // How do I implement this?
        }

        static bool IsIndefinite(T dbNumber)
        {
            // How do I implement this?
        }

        // ...
};
Run Code Online (Sandbox Code Playgroud)

我的代码中有一个数学运算,有时会在模板变量中返回无限且不确定的结果.我想抓住这些无限期的结果.我怎么做?

c++ templates class infinite indefinite

2
推荐指数
1
解决办法
9920
查看次数

标签 统计

c++ ×2

class ×1

double ×1

floating-point ×1

indefinite ×1

infinite ×1

templates ×1