我有一个Complex类型的对象(用任何语言),就像复数一样。在某个时刻,我的程序会检查其虚部是否为零。如果是这种情况,它会将对象转换为double并使用double执行某些操作。
我的问题是 - 是否有从复合到双重的名称? “Downcast”似乎指的是转换为子类,这不是这里发生的事情。类似地,“Upcast”通常被描述为“强制转换为超类”,这可能也不太准确 - 尽管将Complex作为double的子级实现肯定是可能的,但大多数语言都不会这样做。
感觉就像我正在做的不是投射到超类投射到子集。
编辑:我正在寻找获取类型对象并将其转换为更简单类型的等效对象的过程的通用名称。例如,在另一种情况下,可能需要使用BigInt并转换为Int,甚至采用LinearFunction并将其转换为ConstantFunction。
答案 0 :(得分:1)
我的问题是 - 是否有从Complex变为double的名称?
是的,您所描述的内容称为“抓住真实部分”,软件通常使用名称为get_real(complexnumber)
的函数,或者根据您的语言的工作方式,执行complexnumber.real
之类的操作。
请注意“检查是否为零”是一个非常容易出错的浮点数任务,例如大多数复杂实现的虚部和实部。