2016-10-20 1 views
2

番号64.6を64,60に変換したいと思います。数字をコンマで区切った10進数に変換するにはどうすればよいですか?

var number = 64.6 

var a = parseInt(number); 
var b = a.toFixed(2); 
var c = b.toString().replace(/\./g, ','); 
$(".result").html(c); 

私のコードでは、結果は64,00です。

+2

'parseInt'が問題であり、' parseFloat'を使用してください。 – BenG

+0

@BenGはい、それです!ありがとうございました! – Jarla

+0

なぜ ''。 ''の代わりに '/\./ g'を使うのですか? – Roy123

答えて

1

parseFloatは、BenGのように指定できます。

var number = 64.6 
 

 
var a = parseFloat(number); 
 
var b = a.toFixed(2); 
 
var c = b.toString().replace(/\./g, ','); 
 

 
console.log(c);

またはワンライナーでCharles-Edward Costeで指摘したように:

var number = 64.6 
 

 
var c = parseFloat(number).toFixed(2).replace(/\./g, ','); 
 

 
// Note that toFixed converts to a string so there is no need to do another toString 
 

 
console.log(c);

+1

これは、次のように契約することができます: '' parseFloat(number).toFixed(2).replace(/\./ g、 '、'); ' –

0

ここに行く:

WORKING FIDDLE:

function formatNumber(){ 
     var number = 64.6; 
     number = number.toFixed(2); 
     var arr = (number.toString()).split('.',2); 
     alert(arr.toString()); 
    } 

    $(function(){ 
     formatNumber(); 
    }); 
+0

そのコードを初心者には見せないよ、おい!このコードは、 'document.ready'コールバックではなく、名前付き関数でなければなりません。 –

+0

@ Charles-EdouardCoste確かに、提案が受け入れられました。答えを更新しました。 – gschambial

+0

良いですが、 'formatNumber'は' $(function(){..}) 'の前に宣言されるべきです。 –

関連する問題