Rtos

提供:GizmoLabs - だいたい CAD LISP なサイト
2018年8月15日 (水) 19:59時点におけるGizmon (トーク | 投稿記録)による版
構文
(rtos number [mode [precision]])


機能
数値を文字列に変換する。
rtos 関数は、mode 引数、precision 引数、およびシステム変数 UNITMODE、DIMZIN、LUNITS、LUPREC の設定に従って number を表す文字列を返す。


引数
  • number : 数値。
  • mode : 長さの単位モードを表す整数。 mode 引数はシステム変数 LUNITS が認めている値に対応する。
mode 引数には、次の値の 1つを指定することができる。
1 指数表記
2 十進数
3 工業図面表記(フィートと小数インチ)
4 建築図面表記(フィートと分数インチ)
5 分数表記
  • precision : 精度を指定する整数。
mode 引数と precision 引数は、システム変数 LUNITS と LUPREC に対応する。
これらの引数を省略すると、LUNITS と LUPREC の現在の設定を使用する。


戻り値
文字列。 システム変数 UNITMODE は、工業図面表記、建築図面表記、分数表記(mode の値が 3、4、5)を選択したときに返される文字列に影響する。


サンプル

<syntaxhighlight lang="lisp" line>

変数 x を次のように設定する。

(setq x 17.5) 17.5

x の値を、精度が 4 の指数表記形式の文字列に変換。

(setq fmtval (rtos x 1 4)) "1.7500E+01"

x の値を、精度が 2 の十進表記形式の文字列に変換。

(setq fmtval (rtos x 2 2)) "17.50"

x の値を、精度が 2 の工業図面表記形式の文字列に変換。

(setq fmtval (rtos x 3 2)) "1'-5.50"

x の値を、建築図面表記形式の文字列に変換。

(setq fmtval (rtos x 4 2)) "1'-5 1/2"

x の値を、分数表記形式の文字列に変換。

(setq fmtval (rtos x 5 2)) "17 1/2"

システム変数 UNITMODE を 1 に設定すると、入力されたように単位が表示する。 これは、工業図面表示、建築図面表記、分数表記形式を指定したときに rtos 関数が返す値に影響する。
次に、例を示す。

(setvar "unitmode" 1) 1 (setq fmtval (rtos x 3 2)) "1'5.50¥"" (setq fmtval (rtos x 4 2)) "1'5-1/2¥"" (setq fmtval (rtos x 5 2)) "17-1/2"

接頭・接尾のゼロ省略の差

(setvar "dimzin" 0) (rtos 12.34 2 5) "12.34000"

(setvar "dimzin" 8) (rtos 12.34 2 5) "12.34"

(setvar "dimzin" 0) (rtos 0.1234 2 5) "0.12340"

(setvar "dimzin" 4) (rtos 0.1234 2 5) ".12340"

</syntaxhighlight>