「Rtos」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
29行目: 29行目:


; サンプル
; サンプル
: 変数 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 関数が返す値に影響する。
: 次に、例を示す。


<pre class="brush:autolisp;">
<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)  
(setvar "unitmode" 1)  
1
1
60行目: 61行目:
(setq fmtval (rtos x 5 2))  
(setq fmtval (rtos x 5 2))  
"17-1/2"
"17-1/2"


; 接頭・接尾のゼロ省略の差
; 接頭・接尾のゼロ省略の差
79行目: 79行目:
".12340"
".12340"


</pre>
</syntaxhighlight>


[[Category:AutoLISP]]
[[Category:AutoLISP]]

2018年8月15日 (水) 19:59時点における版

構文
(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>