質問: function(value) { if (math.floor(value) !== value) return value.tostring().split(".")[1].length || 0; return 0; } countdecimals(val); 速度テスト: http://jsperf.com/checkdecimals
回答: _number.prototype.countdecimals = function () { if(math.floor(this.valueof()) === this.valueof()) return 0; return this.tostring().split(".")[1].length || 0; } _プロトタイプにバインドされている場合、これにより、数値変数から直接小数(countdecimals();)を取得できます。例えば。_var x = 23.453453453; x.countdecimals(); // 9 _数値を文字列に変換し、。で分割して配列の最後の部分を返すか、配列の最後の部分が未定義の場合は0を返します(小数がない場合に発生します)ポイント)。これをプロトタイプにバインドしたくない場合は、これを使用できます。_var countdecimals = function (value) { if(math.floor(value) === value) return 0; return value.tostring().split(".")[1].length || 0; } _