2015-05-23 38 views
1

當我將測試值(具體數字)輸入到我的薪酬計算腳本中時,它工作正常(例如10000)。但是當我用逗號輸入一個測試值(認爲是「10,000」或「$ 10,000」)時,腳本會將值讀到逗號所在的位置(認爲「10」而不是「10,000」)。我該如何解決這個問題。JavaScript:如何將包含用戶逗號的輸入轉換爲數字?

回答

3
var valueFromPrompt = window.prompt(...) 
var valueNowANumber = +valueFromPrompt.replace(/[^\d\.]/g, ''); 

更換爲空白,則所有非數字(模式/[^\d\.]/g),主導+字符串轉換成數字。把空字符串(因爲有一個在原始字符串無編號)使得0

現在這不會涵蓋數字的所有邊緣情況,因此您可能需要調整模式。您可能想了解更多關於Regular Expressions

+2

我會挑剔指出,這將轉換'$ 10.00'到'1000',這可能會有問題。 – fzzfzzfzz

+0

對不起新手問題,但會將.replace(/ [^ \ d \。]/g,'')附加到保存該值的變量的結尾處? – CaZ

+0

@CaZ喲。就像'var isNowANumber = + stringNumber.replace(...) – Joseph

相關問題