2016-08-10 4 views
0

任意のタイプのprint文を生成する必要があります(他の作業との一貫性のためにcatまたはpasteを使用します)。SQL問合せを介してインポートされたRオブジェクトに先行ゼロとテーリングゼロを表示する

問題は、先行ゼロとテールゼロ(たとえば、07.20)がある場合、XX.XXという形式のオブジェクトを印刷する方法が見つからないということです。

通常、これは問題ありませんが、オブジェクトはRODBC SQLクエリを介してデータベースから取得されます。

私は通常、次のように先行ゼロを達成することができます:大手との文字に対するただし

X <- paste(SQL QUERY HERE) 

report <- formatC(as.vector(t(RODBC::sqlQuery(channel, X))), 
        width = 5, flag = "0") 

と、これは次のように印刷されますゼロを尾行:

paste(report) 

007.2 

以下が生成されますゼロを尾行:

report <- formatC(as.vector(t(RODBC::sqlQuery(channel, X))), 
        format = 'f', digits = 2) 
paste(report) 

7.20 

二つの方法の任意の組み合わせは、ちょうどFAに思えます上記の結果の1つを生成します。

事前に感謝します。

+0

あなたは 'dput(as.vector(トン(RODBC ::のSQLQuery(チャネルの出力を投稿してくださいでした、X))))あなたのために興味のある1つまたは2つのケース?これはRODBCとはあまり関係がないと思います –

+0

あなたの返信に感謝します。 'formatC(dput()(RODBC :: sqlQuery(ch、X))))、 format = 'f'、digits = 2)'の出力は7.20です。 –

+0

私は書式設定の前に*出力が必要です: 'formatC'を削除して再送信できますか? –

答えて

1

だけのアイデアを修正するためのいくつかの例(まだあなたが必要なものを理解することはできません):

## val <- as.vector(t(RODBC::sqlQuery(channel, X))) 
val <- 7.2 
sprintf("%05.2f", val) 
val <- "007.2" 
sprintf("%05.2f", as.numeric(val)) 
関連する問題