実数を文字列に変換 DoubleToString 関数

関数

変換関数

DoubleToStr関数も DoubleToString関数と同じ処理をします。

DoubleToString (DoubleToStr) 関数

この関数は、double型(実数)を string型(文字列)に変換します。 

データ型と構成・戻り値

string DoubleToString(①,…);

戻り値は、実数を文字列に変換したものを返します。

引数 [2]

DoubleToString関数は 2個の引数で構成されます。


引数名データ型単位初期値説明
valuedoubledouble型のデータ。
digitsint8小数点以下の桁数。
digitsの値が 0~16の範囲の時、digits値分の小数点以下の桁を取得して文字列で表示されます。
digits値が -16~-1の範囲の時、digits値分の指数値の小数点以下の桁を取得して文字列で表示されます。
範囲外の場合は、正しく表示されませんので注意してください。
※初期値があるものは省略可能です。省略した場合、初期値が設定されます。

使用例

DoubleToString関数で実数を文字列に変換

コード

// DoubleToString関数で実数を文字列に変換
#property strict
void OnInit() {

   double d_date = 123456789.01234567890123456789;
   
   Print("①Print関数表示d_date:", d_date);                     // DoubleToString関数を使わないで実数を表示
   Print("②digits引数省略   :",DoubleToString(d_date));      // DoubleToString関数の2番目の引数を省略
   Print("③digits=1      :",DoubleToString(d_date, 1));   // DoubleToString関数の2番目の引数を  1に設定
   Print("④digits=8      :",DoubleToString(d_date, 8));   // DoubleToString関数の2番目の引数を  8に設定
   Print("⑤digits=16     :",DoubleToString(d_date, 16));  // DoubleToString関数の2番目の引数を 16に設定
   Print("⑥digits=20範囲外  :",DoubleToString(d_date, 20));  // DoubleToString関数の2番目の引数を 20に設定
   Print("⑦digits=-1     :",DoubleToString(d_date, -1));  // DoubleToString関数の2番目の引数を -1に設定
   Print("⑧digits=-16     :",DoubleToString(d_date,-16));  // DoubleToString関数の2番目の引数を-16に設定
   Print("⑨digits=-20範囲外  :",DoubleToString(d_date,-20));  // DoubleToString関数の2番目の引数を-20に設定
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

  • 通常のPrint関数のみでは小数点以下は 7桁まで表示(①参照)。
  • 2番目の引数を省略した場合は 8桁まで表示(②④参照)。
  • 最終桁の数字が 0でも指定した桁まで表示されることを確認(③参照)。
  • 浮動小数点を含む double型の精度は 16桁までのため(整数部分含む)下の桁の値に誤差が生じて表示されます(⑤⑥参照)。
  • 2番目の引数で -16~16の範囲に入らない場合の表示(⑥⑨参照)。
  • 指数で表示(⑦⑧参照)。
タイトルとURLをコピーしました