DoubleToStr関数も DoubleToString関数と同じ処理をします。
DoubleToString (DoubleToStr) 関数
この関数は、double型(実数)を string型(文字列)に変換します。
データ型と構成・戻り値
string DoubleToString(①,…);
戻り値は、実数を文字列に変換したものを返します。
引数 [2]
DoubleToString関数は 2個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | value | double | - | - | double型のデータ。 |
② | digits | int | - | 8 | 小数点以下の桁数。 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の範囲に入らない場合の表示(⑥⑨参照)。
- 指数で表示(⑦⑧参照)。