noUiSliderInput()将小数转为整数时的异常表现问题(如5.00转5)
noUiSliderInput格式设置部分生效的原因
这个现象的核心原因来自format参数的作用范围和组件底层的数值存储机制:
format = list(wNumbFormat(...))仅负责前端滑块的文本渲染,比如拖动时的提示框、刻度标签,所以你能看到滑块上显示带$前缀的整数,这部分设置是生效的。- noUiSlider是基于JavaScript实现的组件,JavaScript中数值默认以浮点数类型存储和传递,哪怕你设置了
step = 1,传递到Shiny服务器的input$noui2依然是浮点型数值。因此renderPrint输出时会显示成带小数的形式(比如15.0、20.0),这并非设置失效,而是服务器端接收的数值类型本身就是浮点型。
如果想要服务器端输出整数形式,可在服务器端对接收的数值做类型转换,示例代码如下:
server <- function(input, output, session) { output$res2 <- renderPrint(as.integer(input$noui2)) }
内容的提问来源于stack exchange,提问作者TarJae
相关产品推荐
相关产品推荐

