2013-08-15 5 views
5

小数点を削除しますが、すべての桁を保持します。JavaScriptの数字から小数点を削除します。

私が考えることのできるのは、数字の長さを見つけて、10のべき乗がちょうど大きかったのか、それから乗算するのかということです。しかし、私は数の長さを見つける方法を見つけることができません。

+0

「1234.5678」などの数字は「12345678」になるはずですか? –

+0

はい。そのとおりです。 – JVE999

+2

* Stringfy *と*ドットを削除する* – techfoobar

答えて

3

を試してみて、私はそれを行うが、あなたはより一般的な方法をしたい場合は、このfiddle

var d = 109.65; 
var s = d + ''; 
s =s.replace('.', ''); 
s = parseInt(s); 
alert(s); 
+0

私は数学的に数えることができますか? – JVE999

+1

これを数字に変換するusinign parseInt – Anand

2

使用replace

var num = 1234.5678; 
alert((num + '').replace('.', '')); 
0

この

parseInt(num.toString().replace('.', '')) 
+0

この場合、文字列番号は0でない限り文字列番号が "0"で始まらないので問題はありません。ただし、文字列番号が "010"の場合、 parseInt呼び出しでオプションの基数パラメーター(10)を使用しないでoctを返します。 – Jimmy

+0

質問は小数に関するものです。 –

3
var newnumber = parseInt(num.toString().replace(".", ""), 10); 
+1

この場合は10を指定する必要はありません。 –

+0

10進数を保証する10の習慣 - ここでコメントしたときにあなたの答えにコメントしました:p – Jimmy

+0

@DanielGrankin parseIntを使用するときは常に基数を含めることをお勧めします –

1

で見てはいけませんどのw

var num = 1234.5678; 
var str = new String(num); 
alert(str.replace(/[^0-9|-]/g, "")); 

をし、それがその後の数をする必要がある場合だけのparseIntでラップ:病気あなたが使用できるすべての非数値を削除します。

+1

負の数値の場合はどうなりますか?それは事を変えるだろう! – Jimmy

+0

良い点、または正規表現に追加されました。 –

関連する問題