如果我尝试在浮点数中填充大于async function fetchOAuth2()
{
var redirectURL = browser.identity.getRedirectURL() + "page.html";
console.log(redirectURL);
var clientID = "CLIENT ID";
var authURL = "https://trakt.tv/oauth/authorize"; // API I'm using
authURL += `?response_type=code`;
authURL += `&client_id=${clientID}`;
authURL += `&redirect_uri=${redirectURL}`;
console.log(authURL);
var authResult = await browser.identity.launchWebAuthFlow({
interactive: true,
url: authURL
});
// do something with authResult
}
的数字会怎样?
我的代码中有这个:
float.MaxValue
我有两个问题:
int a;
float x;
float y;
...
float b = (a * x) / y;
?float.MaxValue
,我是否会收到异常?如果没有,我应该如何处理这个以防止灾难?答案 0 :(得分:2)
您将获得NaN
(或float.PositiveInfinity
)...或者您只是留在float.NegativeInfinity
(float.MaxValue
)...浮点数有“分辨率“,浮点数越大越低......最后两个浮点之间的距离约为......
3,40282347E + 38:float.MaxValue
3,40282326E + 38:之前的浮动
2,028241E + 31:差异< --------- 2 * 2 ^ 31!
通过
计算float.MaxValue + 1 == float.MaxValue
答案 1 :(得分:1)
如果你试图在float中放入一个大于float.MaxValue的数字,它将是“Infinity”
答案 2 :(得分:1)
如果您运行此代码段(清理错误后)会发生什么:
float b = (a * x) / y;
Console.WriteLine(b);
Output: +infinity
a = (int)b;
Console.WriteLine(a);
Output: -2147483648