2013-08-15 16 views
5

Ondalık kaldırmak istiyorum ancak tüm basamakları saklı tutmak istiyorum.Ondalık sayıyı JavaScript'deki sayıdan kaldır

Düşünebildiğim tek şey, numaranın uzunluğunu bulmak ve 10'un hangi güce sahip olduğunu, sonra çarptığını bulmak. Yine de, bir sayının uzunluğunu nasıl bulacağımı bulamıyorum.

+0

"1234.5678" gibi bir sayının "12345678" olması gerektiğini mi söylüyorsunuz? –

+0

Evet. Bu doğru. – JVE999

+2

* Stringfy * ve * Noktayı kaldır * – techfoobar

cevap

3

ben bunu yapmamalı deneyin ama daha genel bir şekilde istiyorsanız bu fiddle

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

Matematik yapabileceğim bir sayı olarak kabul edilir mi? – JVE999

+1

dönüştürmek için bnack dönüştürmek parseInt – Anand

2

Kullanım replace:

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

bu

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

Bu durumda, string numarası 0 olmadığı sürece "0" ile başlamayacağından önemli değildir. Ancak, eğer stringed number "010" ise, parseInt çağrısında isteğe bağlı radix parametresi (10) olmaksızın oct. – Jimmy

+0

Soru, ondalık sayılarla ilgilidir. –

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

Bu durumda 10 belirtmek için gerekli açık değil, bu durumda ondalık sağlamak için 10 ile alışkanlık –

+0

zorlama - Ben aynı yorum burada aynı kez yorumladı: p – Jimmy

+0

@DanielGrankin parseInt kullanırken radix dahil etmek her zaman en iyi uygulamadır –

1

bakmak hangi w

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

ve sonradan bir numara olması gerekiyorsa sadece parseInt sarın: hasta Kullanabileceğin olmayan tüm sayısal değerler kaldırın.

+1

ne hakkında - negatif sayılar için işaret? Bu şeyleri değiştirecek! – Jimmy

+0

İyi bir nokta, bir veya normal ifadeye eklediniz. –

İlgili konular