Labview中數(shù)值將字符串轉(zhuǎn)化為數(shù)值
我們都知道兩點之間最近的路徑是直線,遺憾的是程序員往往走的并非直線。
目的:字符串轉(zhuǎn)換為雙精度數(shù)。
網(wǎng)友的程序框圖:分析網(wǎng)友的程序框圖:
網(wǎng)友的目的是字符串轉(zhuǎn)換為雙精度數(shù),從程序框圖上看,他限定了字符串的格式。字符串由5個字符組成,其中整數(shù)部分2個字符,小數(shù)點1個字符,小數(shù)部分兩個字符。
網(wǎng)友首先把字符串轉(zhuǎn)換為U8數(shù)組,然后利用索引數(shù)組取出各個位,根據(jù)各位、百位、小數(shù)點后一位、小數(shù)點后兩位,分別乘以10、100、0.1、0.01,然后求和。
框圖中比較難理解的是除以16,求余數(shù)的操作,他的目的把ASCII轉(zhuǎn)換為數(shù)字。我們知道ASCII 0X30...0X39分別是0-9的ASCII.除以16的目的是右移4位,這樣余數(shù)分別為0-9。
改進網(wǎng)友的程序框圖:
網(wǎng)友的程序框圖雖然比較復(fù)雜,但是還是有借鑒意義的,這里面實際上給出了字符串表示的數(shù)字轉(zhuǎn)換為各個位組成數(shù)組的方法,我們可以更為簡單的方法實現(xiàn)同樣的功能。以整型數(shù)為例。
推薦解決方法:
LABVIEW是面向工程應(yīng)用的編程語言,對于基本的編程需要,肯定是提供相應(yīng)的函數(shù)的,而且遠比其它編程語言方便得多,充分體現(xiàn)了LABVIEW易于使用的特點。對于字符串轉(zhuǎn)換雙精度數(shù),在字符串函數(shù)選板中,至少提供了三個函數(shù)可以完成這樣的轉(zhuǎn)換功能,見下圖。