我正在研究一個讀取用戶輸入爲字符串的程序,其中包括讀取某些數字和運算符。如何將一個數字轉換爲float或integer,如果我不知道它是哪一個?
我現在試圖確定如何解析一個字符串,我知道這是一個數字,但我不知道它是一個浮點數還是整數。
我有幾個想法:
function parseNumber(number)
{
if (number % 1 == 0)
return parseInt(number);
else
return parseFloat(number);
}
或
function parseNumber(number)
{
if (number.indexOf(".") != -1)
return parseFloat(number);
else
return parseInt(number);
}
或
function parseNumber(number)
{
if (!number.matches(/([0-9]+.[0-9]+)/))
return parseInt(number);
else
return parseFloat(number);
}
我能想到的一些其他方式。
哪種方式似乎是最好的?
我做的調度場算法。用戶可以輸入給定的表達式。例如:((5 + 3)* 8.2))。當我評估這個表達式(將它轉換爲RPN後)時,我需要將其解析爲適當的類型,以便正確評估。 – KingNestor 2009-10-20 21:41:20