「Rtos」の版間の差分
編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の1版が非表示) | |||
33行目: | 33行目: | ||
; サンプル | ; サンプル | ||
< | <pre class="brush:autolisp;">;変数 x を次のように設定する。 | ||
;変数 x を次のように設定する。 | |||
(setq x 17.5) | (setq x 17.5) | ||
17.5 | 17.5 | ||
53行目: | 52行目: | ||
"17 1/2" | "17 1/2" | ||
; システム変数 UNITMODE を 1 | ; システム変数 UNITMODE を 1 に設定すると、入力されたように単位表示する。 これは、工業図面表示、建築図面表記、分数表記形式を指定したときに rtos 関数が返す値に影響する。 | ||
; 次に、例を示す。 | ; 次に、例を示す。 | ||
82行目: | 81行目: | ||
".12340" | ".12340" | ||
; 小数点の精度指定時の注意点 | |||
; 指定精度以下の桁の値が 4 以下ならその桁での切り捨て動作 | |||
(rtos 2.9949 2 2) -> "2.99" | |||
(rtos 2.949 2 1) -> "2.9" | |||
(rtos 2.49 2 0) -> "2" | |||
; 指定精度以下の桁の値が 5 以上だと四捨五入で丸まってしまう | |||
(rtos 2.995 2 2) -> "3.00" | |||
(rtos 2.95 2 1) -> "3.0" | |||
(rtos 2.5 2 0) -> "3" | |||
</pre> | |||
----- | ----- | ||
関連事項 | 関連事項 |
2021年8月9日 (月) 13:31時点における最新版
- 構文
- (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)を選択したときに返される文字列に影響する。
- システム変数 DIMZIN は、小数点以下の値の省略に影響する。
- サンプル
;変数 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" ; 小数点の精度指定時の注意点 ; 指定精度以下の桁の値が 4 以下ならその桁での切り捨て動作 (rtos 2.9949 2 2) -> "2.99" (rtos 2.949 2 1) -> "2.9" (rtos 2.49 2 0) -> "2" ; 指定精度以下の桁の値が 5 以上だと四捨五入で丸まってしまう (rtos 2.995 2 2) -> "3.00" (rtos 2.95 2 1) -> "3.0" (rtos 2.5 2 0) -> "3"
関連事項