DataGridViewの小数点以下表示に関して

解決


misamisa  2012-04-09 17:31:50  No: 147548  IP: 192.*.*.*

教えて下さい。

あるデータを表示させる為に、DataGridViewを使用していますが、その中で、
小数点以下が発生した場合、小数点が発生していなくても”.00”と表示させたいと
考えています。

  1234  ⇒  1234.00

その為、HP上でいろいろ調べた結果、データテーブルの型もDouble型とし、表示させる
場合もFormatで小数点以下が表示されるように記述しましたが、どうしても表示されず、、、

何がおかしいでしょうか、、、

《記述内容》

  dtTable = dtSet.Tables.Add("単価_TBL")
  
  'テーブルにフィールドを追加する
  '.Add("フィールド名", フィールドの型)で追加します
  dtTable.Columns.Add("単価", Type.GetType("System.Double"))


  GRID_View.Columns(0).DefaultCellStyle.Format = "###,##0.##" ' 単価 フォーマット

上記の記述だけでは不足でしょうか、、、

初歩的な事で申し訳ありませんが、教えて下さい。

編集 削除
魔界の仮面弁士  2012-04-09 19:58:45  No: 147549  IP: 192.*.*.*

小数点以下2桁固定にしたいのでれば、"N2" または "#,##0.00" です。
「#」だと、末尾ゼロや先頭ゼロの場合に表示されません。


> データテーブルの型もDouble型とし、

金額項目なら Doubleではなく、Decimalを採用することをお奨めします。

Double は二進小数で値を管理する都合上、0.5 や 0.25 であれば
誤差なく格納できますが、0.1 などは二進数では循環小数になるため、
近似値として扱われることになります。

一方、Decimal は文字通り十進数で扱うので、そういった誤差を防げます。

編集 削除
misamisa  2012-04-10 08:56:36  No: 147550  IP: 192.*.*.*

魔界の仮面弁士様、ご回答ありがとうございます。

教えて頂いたように記述したところ、全く問題なくできました!!!

本当にありがとうございました!!!

編集 削除