2017-07-07 68 views
0

我想計算一個數字的下限值和上限值。例如。對於val=4,它應該將1作爲較低值,並將10作爲較高的log10值返回。計算數字的下限和上限log10值

data a; 
    infile datalines; 
    input val; 
    datalines; 
4 
27 
38765 
983434 
; 
run; 

這應該是結果:

expected result

我怎樣才能做到這一點,需要哪些功能呢?該功能log10計算val只是價值的10

回答

2

基地我不是一個數學博士,但log10做什麼log10說確實如此,即計算出的對數基10數。我從來沒有聽說過「較低的log10」或「較高的log10」,Google也沒有聽說過。

它聽起來像你想要的是一個整數對數(基數爲10)小於或等於給定數字的數字,以及一個整數對數(基數爲10)的數字更大大於或等於給定的數字。 (如果給出的數字恰好爲10,那麼你不會說怎麼做)。

很輕鬆地通過地面之後再乘冪/小區進行:

data _null_; 
    input x; 
    l_x = 10**(floor(log10(x))); 
    u_x = 10**(ceil(log10(x))); 
    put x= l_x= u_x=; 
datalines; 
4 
27 
38765 
983434 
;;;; 
run;