2017-04-05 20 views
1

特定の形式に従って値を文字列に変換するには、 "Ext.util.Format.number"メソッドを使用しています。 しかし、この方法では、余分な(パラサイト)小数点以下を追加します。このコードでExt.util.Format.number余分な小数点以下を追加する

:例えば

var strValue = Ext.util.Format.number(value, this.displayFormat); 

  • をdisplayFormat = "0,000.00 ############"
  • 値= 102.15
場合

変換した後、strValueには102.15ではなく102.15000000000001

と等しくされていません3210

「Ext.util.Format.numberは」余分/寄生虫小数点以下を追加したことがないことを確認してくださいする方法はありますか?

おかげ

答えて

1

JavaScriptでは102.15と102.15000000000001は区別できません(*)ので、多くの桁数を含まない数値書式を選択する必要があります。 Ext.util.Format.number正しい出力を決定する方法がありません。

(*)あなたのJavaScriptコンソールで102.15 === 102.15000000000001を試してみてください - それは最後に私が必要とするので、私は "parseFloatは" を使用することはできませんすべてのあなたの応答

@Harshitシャー

ためtrue

0

ドゥparseFloatは(strValueに)そのフォーマット後。私はあなたが探しているものだと思う。

0

感謝を返します。文字列(書式付き)の値を持つ フォーマットする前に、余分な小数点以下の桁数を削除して浮動小数点値を切り捨てましたが、成功しませんでした。

@ammoQ

あなたは正しいです。効果的にJavaScriptが102.15 === 102.15000000000001は同じです。 しかし、あなたが示唆するように、小数点以下1桁では、等しくない(1 02.15 === 102.1500000000001 =>false)。 私はあまり精度の形式を使用します。

ありがとうございました。

関連する問題