いくつかのコードをテストして、それが処理され、正しく入力されることを確認したいと思いNAN
ます。INF
-INF
、、を返す関数が存在することは 知っていますが、:としてNAN
INF
-INF
Double
unit IEEE754;
...
function NAN: Double;
function PositiveInfinity: Double;
function NegativeInfinity: Double;
私の場合を除いて、aCurrency
がこれらの3つのエッジケース値の1つであるかどうかをテストする必要があります。Double
残念ながら、これらのいずれも:に変換することはできません。
Test(NAN);
procedure Test(const Value: Currency);
...
をに変換すると、EInvalidOp
無効な浮動小数点演算の例外が発生します。Double
NAN
Currency
にを割り当てることは可能ですか?NAN
Currency
おそらく、 aをに割り当てることは可能ではなく、代わりに不可能です-そして私はこのエッジケースを無視することができます。NAN
Currency
このエッジケースを無視できますか?
「通貨の値をNAN、INF、または-INFに設定する」ことはできますか?
{ David Heffernan says it's impossible for a currency to contain INF,-INF or NAN.
So there's no need to test for it.
http://stackoverflow.com/questions/7096966/set-a-currency-value-to-nan-inf-or-inf
//Handle NaN, where exponent is -32767
test(NAN, 'NAN');
//Handle +inf, where exponent is 32767 and Negative is true
test(PositiveInfinity, 'INF');
//Handle -inf, where expondent is 32767 and Negative is true
test(NegativeInfinity, '-INF');
}