的正負百分之x我已經在我的課兩個量:如何找到一些
aToday, aYesterday
我有用戶輸入1和100之間的數字X。
說,他進入10
我想要做的是找出是否aToday是10%以上的則aYesterday或低10%,然後aYesterday。
如何寫?
我沒有減少10%。 X百分比將更多:
if(aToday > (x/100 * aYesterday))
如何檢查10%以上?
的正負百分之x我已經在我的課兩個量:如何找到一些
aToday, aYesterday
我有用戶輸入1和100之間的數字X。
說,他進入10
我想要做的是找出是否aToday是10%以上的則aYesterday或低10%,然後aYesterday。
如何寫?
我沒有減少10%。 X百分比將更多:
if(aToday > (x/100 * aYesterday))
如何檢查10%以上?
10%以上:
if (aToday > aYesterday*1.1)
10%少
if (aToday < aYesterday*0.9)
當然要確保你與例如double
實例計算,而不是int
情況下,否則你就必須因意外結果舍入
編輯
對於百分率X
X以上(例如X = 10 - > 10%以上)
if (aToday > (1 + (x/100)) * aYesterday)
和x更少
if (aToday < (1 - (x/100)) * aYesterday)
這句話有關使用正確類型的遺體當然有效
hasIncreasedMoreThanXPct = (aToday > 1 + (X/100) * aYesterday )
hasDecreasedMoreThanXPct = (aToday < 1 - (X/100) * aYesterday )
'?true:false'是不需要的。 – Ishtar
基本上跑GE允許發言權X%的是
之間
((100 - x) * aYesterday/100 , (100 + x) * aYesterfday/100)
(LowerBound , UpperBound)
你的支票變成
LowerBound = (100 - x) * aYesterday/100;
UpperBound = (100 + x) * aYesterfday/100;
if (aToday > LowerBound || aToday < UpperBound)
{
}
如果你想採取避免分裂和截斷如果一切都是整數,你可以通過100多樣性。
LowerBound = (100 - x) * aYesterday;
UpperBound = (100 + x) * aYesterfday;
HundredTimesaToday = 100 * aToday;
if (HundredTimesaToday > LowerBound || HundredTimesaToday < UpperBound)
{
}
public static boolean isMoreThanPercentage(double a, double b, double percentage)
{
return ((a/b) * 100 - 100) >= percentage; // Is a greater than b by percentage% of b or more?
}
例如:
isMoreThanPercentage(20, 10, 50)
返回true
,因爲20大於10由100%。
isMore = today > (1+x/100)*yesterday
isLess = today < (1-x/100)*yesterday
如果(aToday <(100.0-X)/100.0 * aYesterday – bdares