如果我有一個介於100和1000之間的數字,我希望得到值3,因爲10^3 = 1000.同樣,如果我有一個介於10和100之間的數字,我希望得到值2,因爲10^2是100.C#登錄基數10並四捨五入到最接近的10?
Incase你想知道,它與計算概率有關,我總是需要通過10 ^值除以保持0和1之間的概率。例如,如果我計算9256,我需要除以10^4,這樣我得到0.92的概率
我不知道如何做四捨五入,如何做基地10,請問有人可以幫忙嗎?
如果我有一個介於100和1000之間的數字,我希望得到值3,因爲10^3 = 1000.同樣,如果我有一個介於10和100之間的數字,我希望得到值2,因爲10^2是100.C#登錄基數10並四捨五入到最接近的10?
Incase你想知道,它與計算概率有關,我總是需要通過10 ^值除以保持0和1之間的概率。例如,如果我計算9256,我需要除以10^4,這樣我得到0.92的概率
我不知道如何做四捨五入,如何做基地10,請問有人可以幫忙嗎?
爲什麼你不能把數字的日誌,然後把它整理?日誌9256會給你3.966,四捨五入(如果你想添加一個並將其整除),然後除以10得到4的冪......你實際上自己回答了這個問題。
Math.Ceiling(Math.Log10(x))
使用對數可以工作,但是您還需要考慮其餘的計算。劃分出10個權力可能對您簡單:
double Scale(double x)
{
if(x <= 0} { return 0; }
while(x > 1.0)
{
x /= 10.0;
}
return x;
}
是的...這個解決方案可能更有效率。 – mpen 2010-05-31 00:35:32
[步驟的數學函數]的可能重複(http://stackoverflow.com/questions/2907949/step-math-function) – 2010-05-31 01:06:06
應該在10到10(因此有1.0的概率)或100(概率爲0.1)? – 2010-05-31 01:09:32