gpt4 book ai didi

shiny - 如何格式化 R Shiny numericInput?

转载 作者:行者123 更新时间:2023-12-01 04:35:42 25 4
gpt4 key购买 nike

我有一个 Shiny 的应用程序,里面有很多 numericInput领域。我想要一种格式化 numericInput 的方法每 10^3 个逗号分隔的字段。例如,我想要 5,000,000 而不是 5000,000。

我可以在 R 中使用 format 来做到这一点和 prettyNum职能。但我没有办法在 Shiny 中做到这一点。

这对 UI 非常有帮助,因为它可以处理百分比、金钱等。有没有人知道如何将其合并到 numericInput 中。 field ?

谢谢!

library(shiny)

# Define UI for application that draws a histogram
ui <- fluidPage(
mainPanel(
numericInput("formatNumber",
"Number should be formatted, e.g."5,000,000",
value = 1000),
p(format(5000000.10, big.mark=",", big.interval=3L,
digits=0, scientific=F))
)
)

server <- function(input, output) {
}

shinyApp(ui = ui, server = server)

最佳答案

shinyWidgets package 有一个很棒的新功能(从 0.5.4 版开始添加,也是一个免责声明,我是通过拉取请求添加的),autonumericInput 可以让您做到这一点。它基于 javascript 库 autonumeric。该函数有很多选项,但文档非常广泛,对于简单用途,大多数可以忽略。
您正在尝试做的事情可以按如下方式完成:

library(shiny)
library(shinyWidgets)

ui <- fluidPage(
h1("Autonumeric Input Example"),
shinyWidgets::autonumericInput(
inputId = "num",
label = "Enter a large number:",
value = 1000000,
currencySymbolPlacement = "p",
decimalPlaces = 2,
digitGroupSeparator = ",",
decimalCharacter = "."
),
verbatimTextOutput("res1")
)

server <- function(input, output) {
output$res1 <- renderText(input$num)
}

shinyApp(ui = ui, server = server)

这特别好,因为它提供了你输入的格式,所以用户可以很容易地知道他们输入的数字有多大。我从经验中知道,尝试将大数字放入基础 Shiny 的 numericInput,试图计算一个小盒子中的数字并找出有多少个零。此函数的目标是使格式化数字输入更加容易。
希望这是有用的!

关于shiny - 如何格式化 R Shiny numericInput?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51791983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com