gpt4 book ai didi

delphi - 将货币值设置为NAN,INF或-INF?

转载 作者:行者123 更新时间:2023-12-03 18:56:50 26 4
gpt4 key购买 nike

我想测试一些代码以确保其正确处理NANINF-INF输入。

我知道there exists functions that return NANINF-INF,但是作为Double

unit IEEE754;
...
function NAN: Double;
function PositiveInfinity: Double;
function NegativeInfinity: Double;


除了我的情况,我需要测试 Currency是这三个边缘情况值之一。不幸的是,您无法将其中任何一个转换为 Double

Test(NAN);

procedure Test(const Value: Currency);
...


EInvalidOp Double转换为 NAN时,存在 Currency无效的浮点运算异常。

是否可以将 NAN分配给 Currency

也许不是将 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');
}

最佳答案

货币不是IEEE754浮点类型,并且没有NAN或INF值。

documentation解释了Currency被实现为64位整数,其隐含比例为10000,并且可能值的范围是-922337203685477.57.5至922337203685477.5807。由于这涵盖了64位整数的整个范围,因此得出没有可用于NAN或INF等前哨值的位模式的信息。

关于delphi - 将货币值设置为NAN,INF或-INF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7096966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com