簡體   English   中英

ulong 和 0 之間的 If 語句

[英]If statement between ulong and 0

我正在嘗試進行此計算,但它試圖將 ulong 轉換為 int 以查看它是否小於 0。我嘗試擺脫 int 並將其放在 0 之前,但它根本不起作用。

ulong a = -897324782938287523942985;
ulong b = 95;
if ((int)(a + (b * 10000)) < 0) 
{
 a += (b*10000)
} else {
 a += b;
}

這給出了錯誤:

Exception trown: 'System.OverflowException' in mscorlib.dll

我需要它給我返回一個大於 0 且小於 95 的正數

它拋出異常,因為a的值無效。 ulong表示 Unsigned Long — 它不接受負數。 值 897324782938287523942985對於 C# 中的所有 integer 類型來說太大了

更新a應該是double類型。 首先,它接受負數,其次,它接受非常大的值——897324782938287523942985 對它有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM