2010-11-27 104 views

回答

31

你有什麼已經是一個浮點數,他們在JavaScript的所有64位浮點數。

渲染時,它(字符串,用於輸出)獲得小數,使用.toFixed(),像這樣:

function intToFloat(num, decPlaces) { return num.toFixed(decPlaces); } 

You can test it out here(雖然我會重命名功能,賦予它不是一個準確的描述) 。

+1

+1永遠不知道有該內置功能:P – timdream 2010-11-27 18:42:49

+0

不錯!我 - 就像以前的評論者 - 從來不知道有一個插入功能! :)我認爲用這麼短的函數,不需要爲此聲明另一個函數,它只會減慢腳本的速度。 – nyuszika7h 2010-11-28 07:27:45

4

toFixed(x)沒有跨越瀏覽器的解決方案。 完整的解決方案是以下幾點:

function intToFloat(num, decPlaces) { return num + '.' + Array(decPlaces + 1).join('0'); } 
0

如果您不需要(或不知道)的小數位數的固定數量,你可以只使用

xAsString = (Number.isInteger(x)) ? (x + ".0") : (x.toString()); 

這是像這些上下文相關的,你有一個x作爲7.0x.toString()會給你"7",你需要的字符串爲"7.0"。如果x碰巧是一個浮動值,比如說7.17.233那麼字符串也應該分別是"7.1""7.233"

不使用Number.isInteger():

xAsString = (x % 1 === 0) ? (x + ".0") : (x.toString());