2016-08-01 13 views
1

入力を自動入力するjavascriptがありますが、コードを丸めずに入力を変更して自動入力しますが、Math.roundを追加するか丸めて小数点以下を切り捨てますそれのようないくつかのaddEventListenerの変更は、それが入力Javascript parseInt parseInt parseInt parseFloat and rounding decimals

taxes.value = parseInt(parseFloat(Math.round(totaltopay.value) * (1.00/1.19))); 
0123を自動入力しない小数を丸めるためにいくつかのコードを追加

の作業コード

taxes.value = parseInt(parseFloat(totaltopay.value) * (1.00/1.19)); 

を行う必要がある場合は変更が自動入力されません

この結果を丸めて動作させる方法はありますか?

それは以下の作業を行う必要があります。

taxes = 23123.764345645ラウンドを、コンマなしドットなし23124にのみ

EDIT

入力量が入力量を支払うために合計を変更する*入力売却価格を示し、それは総額を支払うことを与える、このtotaltopay入力私たちは、税金を得る金額を取る、それは丸めなしで動作しますが、それをラウンドしようとaddEventListener停止...あなたは税もまた販売価格を変更するときにautofillesを理解するかもしれませんまたは数量taltopay変更など税金

+0

あなたの入力は何であり、あなたは結果として何を期待していますか? – Sergio

+0

'parseInt'が必要です。 –

+0

'Math.round((totaltopay.value)*(1.00/1.19)); ' –

答えて

0

番号を四捨五入して整数値を返すMath.round()を使うだけでいいです。 *(乗算)または/(除算)を適用している間、値は自動的にNumberに解析されるため、解析するためのハードコードされたメソッドは必要ありません。

だから、
taxes.value = Math.round(totaltopay.value * 1.00/1.19); 
+0

parserIntなしでparseFloatなし?私はそれを試してみます – Nokelekele

+0

@Nokelekeleを追加する場合は注意が必要です.... '+'も連結を表します –

+1

とても完璧に働いてくれてありがとうございます – Nokelekele

3

、心に留めておくべき事柄:

  • parseInt()は整数を作成します。あなたはそれに文字列または数字を与え、数字を得、の小数の場合を除きます。注意:parseIntは基数を持って、あなたはおそらく基数10を使用したい:parseInt(yourString, 10);
  • parseFloat()は、文字列を取り、番号を返し、小数例で
  • Math.round()は、数(*)を取り、整数を返し、に丸め最も近い整数
  • Number()はあなたが必要なもの、文字列(または番号)を取り、数に変換し、そう

小数例を保っている。

taxes.value = Math.round(Number(totaltopay.value) * 1.00/1.19); 

(*) - 恐らくMath.roundは、文字列で動作しますが、MDN's docs say: give it a number