- - PR -
小数フィールドの値について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-28 16:28
ひろれいさんTetraさん、回答ありがとうございます。
to_char(-123.12,'FM9,999.999') では、 -.12 の場合、整数部の0が負荷されませんでした。(そのまま、-.12と表示されました。) そこで、Tetraさんが言われたように、 ・to_char(日本座標値X,'FM990.999') としたら、期待値を取得できました。 が、原理をイマイチ把握していないので、上記式について調査してみます。 (FMって初めてなので。。。(−−;) みなさんのアドバイスのおかげで、とりあえずの段階までいけました。 ありがとうございました m(__)m |
|
投稿日時: 2006-12-28 16:50
詰めが甘い・・・orz
Tetra さん、フォローありがとうございますm(_ _)m |
|
投稿日時: 2006-12-28 17:02
いろいろなテストをしていたら、1つ問題を見つけました。
number(5.2)フィールドが処理対象の場合 ※ to_char(field,'FM990.99'))で値を取得する。 OKパターン -.12 → -0.12 -23.2 → -23.2 NGパターン −2 → -2. (「-2」として取得したい。) 0 → 0. (「0」 〃) 上記のように、整数のみの場合に小数点が付加されてしまいました。 ・小数点以下の桁数がない場合、小数点をつけない という制御も同時に行うことってできるでしょうか? (DECODEと併用など複雑なSQLになってしまうでしょうか?) |
|
投稿日時: 2006-12-29 13:42
結局、C#側で対応することにしました。
OracleReaderで処理しているので、 StringBuilder data = new StringBuilder() data.Append( reader[0] ); とようにすると、 -.12→"-0.12" と変換してくれました。 まぁ、処理速度が出ないかもしれませんが、とりあえず上記の方法で対応するようにします。 みなさま、いろいろ助言いただきありがとうございました。 |