[程式] SAS讀取資料使用的informat的問題

看板Statistics作者 (竹子狐)時間15年前 (2011/03/18 01:36), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
[軟體程式類別]: SAS [程式問題]: 資料輸入、資料讀取、informat [軟體熟悉度]: 高(1年以上) [問題敘述]: 被人家問到關於informat的問題, 所以自己亂輸入了以下的程式, 想要試試看informat comma, 所有的output都依照我所想的樣子, 但 最後一筆資料的output卻是0.235, 而非我以為的0.23 想請問板上高手, 為什麼我明明informat設的是comma5.2, 但最後 一筆卻就是會輸出到小數點後三位??  謝謝 <(_ _)> [程式範例]: data L1; input @1 x1 comma5.2; cards; 3450 19,2,417 8---3,1 5 13.42 -67.29 901234567 (1).3 .2345 ; run; proc print; run; -- ┼──── __◤ ◥ ccfg ── ˙ ╮╓ 。 ﹨╮╭∕ ██◣ ╓╮ ╭╖ ╓╮ ╠╯ __﹨ ∕____█◤ █ ╓┼ ╙╮ ╓┼ ╠╮ ││ /﹨∕\ ◥ ◤ ○ ╙╯ ╰╜ ╙╯ ╯╙ ˙ ┼┼ \● ___ / ───┼ \/\/ \/\/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 124.11.140.60

04/09 20:50, , 1F
試著解釋: 5.2 是從抓5個char, 轉成有二位小數的值
04/09 20:50, 1F

04/09 20:50, , 2F
如果前5char已存在 ".", 則用原來的 "."的位置.
04/09 20:50, 2F

04/09 20:51, , 3F
1.1235678 1234.567 12345.67 1234.89
04/09 20:51, 3F

04/09 20:51, , 4F
的答案是 1.12 1234.00 123.45 1234.00
04/09 20:51, 4F
文章代碼(AID): #1DWaQe0g (Statistics)