Shiny sliderInput设置round=TRUE后仍显示小数如何解决?
问题原因
round = TRUE仅控制滑块选中值的舍入逻辑,你没有显式指定步长参数的情况下,sliderInput会根据数值范围自动计算步长,自动计算的步长可能存在小数位,最终导致展示的数值带小数。
解决方案
在sliderInput中新增step = 1参数即可,步长固定为1后所有可选值均为整数,不会再出现小数展示的问题。
修改后的可运行代码
library(shiny) test_df <- 19:45 ui <- fluidPage( sliderInput("range1", label = h3("Select Range"), min(test_df), max(test_df), value = c(min(test_df), max(test_df)), round = TRUE, step = 1) ) server <- function(input, output, session){ } shinyApp(ui, server)
补充说明
如果需要进一步约束数值展示格式,还可以搭配format参数使用,比如设置format = "####"强制展示为整数格式,完全避免小数位出现。
内容的提问来源于stack exchange,提问作者user16497487
相关产品推荐
相关产品推荐

