数値演算の結果の整数値・小数値の文字列表現フォーマットを設定
SetFormat, INTEGER, D|H
SetFormat,FLOAT, TotalWidth.DecimalPlaces[e|E]
引数名 | 説明 |
---|---|
NumberType | 「INTEGER」(整数値)、「FLOAT」(小数値)のどちらか。 |
D|H |
NumberTypeがINTEGERの場合の第二引数は、10進数形式にするには「D」を指定。「0x」で始まる16進数形式にするには「H」を指定。 に使用。 |
TotalWidth |
NumberTypeが「FLOAT」の場合の場合の第二引数は、「TotalWidth.DecimalPlaces」(ピリオド区切り)の形式で2つの数を指定。 TotalWidthは文字列表現の最小の文字数を指定。 結果の値の文字数がそのままではTotalWidthより少なくなってしまう場合、TotalWidthの指定の仕方によって以下のような形式で出力される。
TotalWidthがDecimalPlacesより小さい場合、常にそのまま出力される。 |
DecimalPlaces |
小数点以下の桁数は、必ずDecimalPlacesで指定した桁数になる。(例:「0.250000」) 桁数を超える場合は、四捨五入される。(例:「0.666667」 DecimalPlacesが「0」の場合、小数点も表示されなくなる。(10進整数と同じになる) |
e|E |
DecimalPlacesの後に「e」もしくは「E」が付けられた場合、「1.01e+002」のように、整数部1〜9、小数部DecimalPlaces桁の浮動小数点表記で出力されるようになる。 例えば、「1.01e+003」は「1.01*10^3」で「1010」、「1.01e-002」は「1.01*10^(-2)」で「0.0101」を表す。 この方式ならば、「0.000000000000001」のような値でも、常に有効桁数DecimalPlaces+1桁で保持できる。 計算の入力においては、「101e+1」「101.0e1」「0.000101e+10」のような表記も認識される。ただし、「101e1」のように、指数部の符号と小数部を共に省略したものは認識されない。 大文字のEを指定した場合は、「1.01E+001」のような出力形式になる。 |
INTEGERの初期設定は「D」(10進数)、FLOATの初期設定は「0.6」(小数点以下6桁表示、桁揃えなし)
組み込み変数A_FormatInteger、A_FormatFloatで整数・小数それぞれの現在の設定値を参照できる。
この設定の基本値は、スクリプトの最初のAutoExecuteセクションで設定する。
ホットキーなどで新たに起動されたスレッドでは、設定は基本値に設定される。
変数が数値/整数値/小数値であるかを判定するには、if var is number/integer/floatコマンドを使用すればよい。
このコマンドを使用しても、すでに変数に入っている数値のフォーマットは変換されない。
変換するには、「0」を足すなどの計算を行えばよい。
数字の桁揃えを行うには、「SetFormat,FLOAT,6.0」などとしたうえで、「Var+=0.0」のようにして小数値表現に変換すればよい。
Assign expression (:=), EnvAdd, EnvSub, EnvMult, EnvDiv, AutoTrim, if var is type
Var = 11.333333 SetFormat, float, 6.2 Var -= 1 ; Sets Var to be 10.33 with one leading space because the total width is 6. SetFormat, float, 0.2 Var += 1 ; Sets Var to be 11.33 with no leading spaces. SetFormat, float, 06.0 Var += 0 ; Sets Var to be 000012 SetFormat, integer, hex Var += 0 ; Sets Var to be 0xc SetFormat, integer, d