小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Auto CAD Lisp 之 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)詳情 | 老伙計(jì)

 建筑小不懂 2022-08-26 發(fā)布于廣東

剛剛接觸Lisp編程的小哥哥小姐姐們不知道如何把變量里面的數(shù)字變?yōu)樽执?,或者把字串符轉(zhuǎn)換成數(shù)字,或者數(shù)字四舍五入。下面貼出各個(gè)函數(shù)的使用和功能。

1、整型轉(zhuǎn)換為字符串的函數(shù)  (itoa int)

例子 : (itoa -2021)     返回    “-2021”

說(shuō)明:把整型常數(shù)、變量或表達(dá)式的值轉(zhuǎn)換為字符串,注意參數(shù)必須是整數(shù),函數(shù)返回值中不帶"+"號(hào)。

2、字符串轉(zhuǎn)換為整數(shù)的函數(shù) (atoi 字符串)

例子 :(atof "55.9") 返回 55   ,(atof "1997") 返回 1997

說(shuō)明:把字符串常數(shù)、變量或表達(dá)式轉(zhuǎn)換為整數(shù)。該函數(shù)從頭掃描字符串,把前面的整數(shù)取出作為函數(shù)值返回。如果字符串不是以數(shù)字打頭,函數(shù)返回值為0

3、字符串轉(zhuǎn)換為實(shí)數(shù)的函數(shù)  (atof 字符串)

例子 :(atof "197.1") 返回 197.1 ,(atof "6") 返回 6.0

說(shuō)明:把字符串常數(shù)、變量或表達(dá)式轉(zhuǎn)換為實(shí)數(shù)。 該函數(shù)從頭掃描字符串,把前面的數(shù)取出作為函數(shù)值返回。如果字符串不是以數(shù)字打頭,函數(shù)返回值為0.0。

4、整型轉(zhuǎn)換為實(shí)型的函數(shù) (float n)

例子 :

(float 6) 返回 6.0
(float 6.75) 返回 6.75

說(shuō)明:把整型數(shù)據(jù)轉(zhuǎn)換為實(shí)型。參數(shù)可以為整數(shù)或?qū)崝?shù),函數(shù)返回值為實(shí)數(shù)。

5、實(shí)型轉(zhuǎn)換為整型的函數(shù) (fix n)

例子 :

(fix 6) 返回 6
(fix 6.7) 返回 6

說(shuō)明:把常數(shù)、變量、表達(dá)式的值取整。
(1)參數(shù)可以為整數(shù)或?qū)崝?shù),函數(shù)返回值為整數(shù)。
(2)取整是截?cái)嘈?shù)部分,而不是四舍五入。

6、整數(shù)和實(shí)數(shù)格式化函數(shù) (rtos number [mode] [precision])

解釋說(shuō)明:

此函數(shù)將依據(jù)所給定的 mode、precision、AutoCAD 的UNITMODE 系統(tǒng)變量及DIMZIN尺寸變量來(lái)返回一字符串以表示 number。mode 與precision是整型數(shù), 表示所選擇的線性單位模式和精確度。AutoCAD 中所提供的mode 值如下:

 

RTOS 模式(number)            編輯格式

1                                          科學(xué)記數(shù) (Scientific)

2                                           十進(jìn)制 (Decimal)

3                                            工程 (尺和十進(jìn)位寸) (Engineering)

4                                           建筑 (尺和分?jǐn)?shù)寸) (Architectural)

5                                            任意的分?jǐn)?shù)單位 (Fractional)

把整數(shù)或?qū)崝?shù)按照指定的顯示方式"mode"和精度"presicion"四舍五入轉(zhuǎn)換為字符串。
(1)參數(shù)"number"可以為整型或?qū)嵭统?shù)、變量或表達(dá)式。
(2)參數(shù)"mode"為線性單位的格式編碼,與AutoCAD的Units命令設(shè)定的線性格式相對(duì)應(yīng)。如果該變量沒(méi)有指定,則采用系統(tǒng)變量"lunits"指定的當(dāng)前線性單位格式。
(3)參數(shù)"precision"用來(lái)指定數(shù)值的顯示精度。對(duì)于前三種格式,本參數(shù)用來(lái)指定小數(shù)點(diǎn)后的小數(shù)位數(shù)。對(duì)于后兩種格式,用來(lái)設(shè)定最小分?jǐn)?shù)的分母。如果該變量沒(méi)有指定,則采用系統(tǒng)變量Luprec設(shè)定的當(dāng)前精度值。

例子:

例如, 我們?cè)O(shè)定 DIMZIN=0。則:   

語(yǔ)法范例 UNITMODE=0的返回值 UNITMODE=1的返回值
(rtos 17.5 1 4) "1.7500E+01" "1.7500E+01"
(rtos 17.5 2 2) "17.50" "17.50"
(rtos 17.5 3 2) "1'-5.50"" "1'5.50""
(rtos 17.5 4 2) "1'-5 1/2"" "1'5-1/2""
(rtos 17.5 5 2) "17 1/2" "17-1/2"

6、距離格式化函數(shù) (distof string [mode])

說(shuō)明:

此函數(shù)會(huì)以angle 根據(jù) mode 所指定的顯示格式將string轉(zhuǎn)換成實(shí)型數(shù)值。mode 參數(shù)所指定的單位必須是現(xiàn)存的格式。它的值必須是與 AutoCAD 的系統(tǒng)變量 LUNITS 所允許的值一致, 如下表所示。如果 mode 被省略, 則angtof 將使用 LUNITS 目前使用的值。

模式值 字串格式
1 科學(xué)記數(shù)格式
2 十進(jìn)位格式
3 工程格式(英尺與十進(jìn)位英寸)
4 建筑格式(英尺與分?jǐn)?shù)英寸)
5 分?jǐn)?shù)格式

string 必須是一個(gè) distof 可以依據(jù)指定 mode 來(lái)正確分析的字符串。它可以是一個(gè)與rtos返回值相同的格式, 或許是 AutoCAD 允許鍵盤(pán)鍵入的格式。如果傳送 distof經(jīng)過(guò) rtos 所建立的字符串, 那么distof將保證返回一有效值。如果distof成功執(zhí)行, 那么它將返回一實(shí)型數(shù)值。否則, 它將返回 nil。

把距離串按照指定的格式"mode"轉(zhuǎn)換為實(shí)數(shù)。
(1)參數(shù)"string"必須是根據(jù)"mode"參數(shù)指定的距離測(cè)量格式能正確解釋的字符串。
(2)參數(shù)"mode"為距離測(cè)量格式,與AutoCAD的Units命令設(shè)定的線性格式相對(duì)應(yīng)(表6-4)。如果該變量沒(méi)有指定,則采用系統(tǒng)變量"lunits"指定的當(dāng)前單位設(shè)置。

7、角度格式化函數(shù)(弧度轉(zhuǎn)為角度)  (angtos angle [mode] [precision])

說(shuō)明:把以弧度為單位的角度按照指定的角度格式"mode"和精度"presicion"轉(zhuǎn)換為字符串,角度值在[0,2π]之間。 (1)參數(shù)"angle"可以為整型或?qū)嵭统?shù)、變量或表達(dá)式。
(2)參數(shù)"mode"為角度格式編碼,與AutoCAD的Units命令設(shè)定的角度格式相對(duì)應(yīng)。如果該變量沒(méi)有指定,則采用系統(tǒng)變量"aunits"指定的當(dāng)前角度格式。
(3)參數(shù)"precision"用來(lái)指定轉(zhuǎn)換后小數(shù)點(diǎn)之后的小數(shù)位數(shù)。如果該變量沒(méi)有指定,則采用系統(tǒng)變量"auprec"設(shè)定的當(dāng)前精度值。

例子:

(angtos 0.785398 0 4) 返回 "45.0000”
(angtos -0.785398 0 4) 返回 "315.0000"

8、角度格式化為弧度函數(shù)(角度轉(zhuǎn)為弧度) (angtof string [units])

說(shuō)明:把格式化角度字符串轉(zhuǎn)換為以弧度為單位的實(shí)數(shù)。
(1)參數(shù)"string"必須是能夠由Angtof函數(shù)根據(jù)指定的"units"參數(shù)進(jìn)行正確分析的一個(gè)字符串。它既可以與Angtos函數(shù)返回結(jié)果的格式相同,也可以是AutoCAD允許從鍵盤(pán)輸入的角度格式。
(2)參數(shù)"units"用于指定角度字符串格式單位,與AutoCAD的Units命令設(shè)定的角度格式相對(duì)應(yīng)。如果該變量沒(méi)有指定,則采用系統(tǒng)變量"aunits"指定的當(dāng)前角度格式。

模式       編輯格式

0          十進(jìn)位度

1          度/分/秒

2          百分級(jí)數(shù)

3            弧度

4           測(cè)量單位

例子:

(angtof "45.0000") 返回 0.785398

(angtof "45.0000" 3) 返回 1.0177

9、單位換算函數(shù)  (cvunit value from-unit to-unit)

說(shuō)明:

把數(shù)值由一種單位格式轉(zhuǎn)換為另一種單位格式。 (1)參數(shù)"value"為要換算的數(shù)值或點(diǎn)表(二維或三維點(diǎn)),必須是整型或?qū)嵭停坏脼榭铡?br> (2)參數(shù)"from-unit"為"value" 原來(lái)使用的單位。"to-unit"為"value"將要使用的單位,這兩個(gè)單位必須在 ACAD.unt 文件中已經(jīng)定義。
(3)轉(zhuǎn)換的兩種單位必須為同一類型,否則函數(shù)值為nil。
(4)如果要把一批數(shù)值從一個(gè)單位轉(zhuǎn)換為另一個(gè)單位,可以先轉(zhuǎn)換數(shù)值 1.0,然后將結(jié)果作為函數(shù)或計(jì)算中的縮放比例因子,從而提高效率。這種方法對(duì)除溫度外的所有預(yù)定義單位都有效,因?yàn)闇囟葐挝坏霓D(zhuǎn)換要涉及到一個(gè)偏移量而沒(méi)有固定的比例

例子:

(cvunit 1 "minute" "second") 返回 60.0
(cvunit 1 "gallon" "furlong") 返回 nil
(cvunit 1.0 "inch" "cm") 返回 2.54
(cvunit 1.0 "acre" "sq yard") 返回 4840
(cvunit '(1.0 2.5) "ft" "in") 返回 (12.0 30.0)
(cvunit '(1 2 3) "ft" "in") 返回 (12.0 24.0 36.0)

10、任意數(shù)值轉(zhuǎn)換字符串 (vl-princ-to-string 任意值)

說(shuō)明:此函數(shù)可以將任意的數(shù)值轉(zhuǎn)換成字符串,(alert "")這個(gè)彈窗只支持字符串。我們想要看到編程運(yùn)行的結(jié)果,就可以使用這個(gè)函數(shù)加彈窗,彈窗來(lái)結(jié)果是什么,無(wú)論是表,還是字符串,還是數(shù)組,都會(huì)轉(zhuǎn)為字符串。

例子

(alert (vl-princ-to-string 任意值))

 

11、(read string)

說(shuō)明:

此函數(shù)將返回 string 的第一個(gè)表或原子。但 string 不可以包含空格, 除非是在表或字符串中 。read 會(huì)返回它的參數(shù)轉(zhuǎn)換的相對(duì)應(yīng)數(shù)據(jù)類型。

Lisp 四舍五入(沒(méi)有直接的函數(shù),可以自定義一個(gè))

例子

(read (rtos 1.251 2 1));(read (rtos 小數(shù) 模式 保留位數(shù))) 四舍五入

(read "97 3.2")  返回  97

(read "3.2300")  返回  3.23

(read "hello there") 返回  HELLO

(read "(a b c)") 返回  (A B C)

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多