[C#] Formatメソッドを利用して桁数を指定して浮動小数点型(float double)変数の値を出力する

このページのタグ:[C#] [Fromat]
Formatメソッドを利用して桁数を指定して、浮動小数点を出力するコードを紹介します。

概要

標準の書式指定文字列を用いる場合

Format()メソッドで「複合書式指定文字列」に"{(インデックス番号):f(桁数)}" (または、"{(インデックス番号):F(桁数)}")の文字列を与えます。

カスタム書式指定文字列を用いる場合

Format()メソッドで「複合書式指定文字列」にゼロプレースメント"0"や桁プレースメント"#"の文字列を与えます。

プログラム

UI

下図のUIを作成します。

コード

下記のコードを記述します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace NumericFormatDemo
{
  public partial class FormFloating : Form
  {
    public FormFloating()
    {
      InitializeComponent();
    }

    private void button2_Click(object sender, EventArgs e)
    {
      double value = 0.32;
      textBox_Output.Text += string.Format("{0:f4}\r\n", value);
      value = 1.496;
      textBox_Output.Text += string.Format("{0:f4}\r\n", value);
      value = 0.0000042;
      textBox_Output.Text += string.Format("{0:f4}\r\n", value);
      value = 1.0;
      textBox_Output.Text += string.Format("{0:f4}\r\n", value);
    }

    private void button3_Click(object sender, EventArgs e)
    {
      double value = 0.32;
      textBox_Output.Text += string.Format("{0:0.000000}\r\n", value);
      value = 1.496;
      textBox_Output.Text += string.Format("{0:0.000000}\r\n", value);
      value = 0.0000042;
      textBox_Output.Text += string.Format("{0:0.000000}\r\n", value);
      value = 1.0;
      textBox_Output.Text += string.Format("{0:0.000000}\r\n", value);
    }
  }
}

解説

button2では、Format()メソッドで「複合書式指定文字列」に"{0:f4}"を指定し小数点以下4ケタを表示する動作にします。また、button3では"0"プレースメントを用いて小数点以下6桁まで表示する動作にしています。

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


[button2]をクリックします。下図の表示結果が得られます。小数点以下4桁まで表示されています。


[button3]をクリックします。こちらは小数点以下6桁まで表示されます。

補足:桁数が少ない場合に"0"で埋めない表示にする

先の"0"プレースメントを用いた記述では、桁数が6桁にそろえられますが、"0.12"などのように、桁数が少ない場合でも指定した桁数 "0.120000"と"表示されてしまします。0であった場合には桁を表示しない場合は"#"プレースメントを使用します。

コード

button4として以下のコードを記述します。

private void button4_Click(object sender, EventArgs e)
{
  double value = 0.32;
  textBox_Output.Text += string.Format("{0:0.######}\r\n", value);
  value = 1.496;
  textBox_Output.Text += string.Format("{0:0.######}\r\n", value);
  value = 0.0000042;
  textBox_Output.Text += string.Format("{0:0.######}\r\n", value);
  value = 1.0;
  textBox_Output.Text += string.Format("{0:0.######}\r\n", value);
}
解説
"#"を用いることで小数点以下6桁を表示しますが、0で桁が埋められてしまう場合は何も表示しない動作になります。

実行結果

プロジェクトを実行し[button4]をクリックすると下図の表示結果となります。桁数の少ない小数は桁が"0"で埋められていないことが確認できます。

登録日 :2014-08-06    最終更新日 :2016-03-27
このページのタグ:[C#] [Fromat]
Japanese
プライバシー    iPentecについて
iPentec all rights reserverd. (ISDC)