Rangeslider奇数输出值只有一个数字

问题描述

我正在努力解决一个“奇怪”的问题。

我正在使用RangesliderJS(https://rangeslider.js.org),并且大多数情况下一切正常。但是,我需要输出和实际字段值稍有不同(由于计算其他内容的方式,但是我认为这在很大程度上与之无关)。滑块显示百分比-从零到十。该值必须为0.01代表1%,0.1代表10%等。

但是,对于用户,我需要显示“真实”数字-即1%,5%等。

这就是我这样做的方式;

$(document).ready(function() {
    $('input[type="range"]').rangeslider({
polyfill : false,onInit : function() {
    this.output = $( '<div class="range-output" />' ).insertAfter( this.$range ).html( this.$element.val() * 100 );
},onSlide : function( position,value ) {
    this.output.html( value * 100 );
    console.log(this.value);
}
});
});

哪个工作正常。但是,我有一个奇怪的情况,应该输出为7%的结果实际上显示为7.000000000000001%-每个其他数字都应显示,并且控制台也将值正确记录为0.07。

这纯粹是出于UI的目的,所以我很乐意“破解”一个修复程序,但是我很想知道为什么它也这样做(JS不是我的专长!)

解决方法

虽然我仍然不清楚原因,但是我已经通过使用Math.round解决了该问题;

      $('input[type="range"]').rangeslider({
polyfill : false,onInit : function() {
    this.output = $( '<div class="range-output" />' ).insertAfter( this.$range ).html( this.$element.val() * 100 );
},onSlide : function( position,value ) {
    this.output.html(Math.round( value * 100 ));
    console.log(this.value);
}
});
});

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...