簡體   English   中英

SAS使用輸入功能將字符串轉換為數字

[英]SAS convert string to number with input function

我怎么能把只有數字的字符串轉換成數字,我有這個:

mydataset:

StringNumber
25 
270

長度是$ 3

當我使用此代碼時,刪除空格。

data eg1;
set   myDataSet;
number=input(strip(StrinNumber),8.);
run;

結果是第一個obs丟失了,第二個是270(確定)。

我試過了:

number=input(combpl(StrinNumber),8.);
number=input(compress(StrinNumber),8.);

結果是一樣的

沒有什么特別的理由說明您的代碼不起作用,但是無論如何這都比較簡單:

data test;
length stringNumber $3;
input StringNumber $;
datalines;
25 
270
;;;;
run;

data want;
set test;
number = input(stringNumber,3.);
put number=;
run;

3.是字符串的長度,您無需剝離空格。

如果這不起作用,我想您的25並不是真正的25加上一個空格,而是具有一些非空格字符(包括NBSP, 'A0'x ,這在從網絡上獲取的數據中很常見)。

你可以試試:

data want;
set test;
number = input(compress(stringNumber,,'kd'),3.);
put number=;
run;

這將從字符串中刪除所有非數字字符。 如果您對字符串中只有數字和某種形式的空格有信心,那么這應該是安全的。 如果它可能包含其他字符,這些字符可能有效地指示您不需要的記錄(包括諸如“ 1.3”之類的字符,它將返回“ 13”),則在沒有更詳細的編碼的情況下可能會有風險。

暫無
暫無

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

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