Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

formatNumericInput

Format Numeric Inputs


Description

Shiny widgets for as-you-type formatting of currency and numeric values. For a more modifiable version see autonumericInput. These two functions do the exact same thing but are named differently for more intuitive use (currency for money, formatNumeric for percentage or other).

Usage

currencyInput(
  inputId,
  label,
  value,
  format = "euro",
  width = NULL,
  align = "center"
)

formatNumericInput(
  inputId,
  label,
  value,
  format = "commaDecimalCharDotSeparator",
  width = NULL,
  align = "center"
)

Arguments

inputId

The input slot that will be used to access the value.

label

Display label for the control, or NULL for no label.

value

Initial value (unformatted).

format

A character string specifying the currency format of the input. See "Details" for possible values.

width

The width of the input box, eg. "200px" or "100%".

align

The alignment of the text inside the input box, one of "center", "left", "right". Defaults to "center".

Details

In regards to format, there are currently 41 sets of predefined options that can be used, most of which are variations of one another. The most common are:

  • "French"

  • "Spanish"

  • "NorthAmerican"

  • "British"

  • "Swiss"

  • "Japanese"

  • "Chinese"

  • "Brazilian"

  • "Turkish"

  • "euro" (same as "French")

  • "dollar" (same as "NorthAmerican")

  • "percentageEU2dec"

  • "percentageUS2dec"

  • "dotDecimalCharCommaSeparator"

  • "commaDecimalCharDotSeparator"

To see the full list please visit this section of the AutoNumeric Github Page.

Value

a currency input widget that can be added to the UI of a shiny app.

References

Bonneau, Alexandre. 2018. "AutoNumeric.js javascript Package". http://autonumeric.org

See Also

Examples

if (interactive()) {
  library(shiny)
  library(shinyWidgets)

  ui <- fluidPage(
    tags$h2("Currency Input"),

    currencyInput("id1", "Euro:", value = 1234, format = "euro", width = 200, align = "right"),
    verbatimTextOutput("res1"),

    currencyInput("id2", "Dollar:", value = 1234, format = "dollar", width = 200, align = "right"),
    verbatimTextOutput("res2"),

    currencyInput("id3", "Yen:", value = 1234, format = "Japanese", width = 200, align = "right"),
    verbatimTextOutput("res3"),

    br(),
    tags$h2("Formatted Numeric Input"),

    formatNumericInput("id4", "Numeric:", value = 1234, width = 200),
    verbatimTextOutput("res4"),

    formatNumericInput("id5", "Percent:", value = 1234, width = 200, format = "percentageEU2dec"),
    verbatimTextOutput("res5")
  )

  server <- function(input, output, session) {
    output$res1 <- renderPrint(input$id1)
    output$res2 <- renderPrint(input$id2)
    output$res3 <- renderPrint(input$id3)
    output$res4 <- renderPrint(input$id4)
    output$res5 <- renderPrint(input$id5)
  }

  shinyApp(ui, server)
}

shinyWidgets

Custom Inputs Widgets for Shiny

v0.6.0
GPL-3
Authors
Victor Perrier [aut, cre, cph], Fanny Meyer [aut], David Granjon [aut], Ian Fellows [ctb] (Methods for mutating vertical tabs & updateMultiInput), Wil Davis [ctb] (numericRangeInput function), Spencer Matthews [ctb] (autoNumeric methods), JavaScript and CSS libraries authors [ctb, cph] (All authors are listed in LICENSE.md)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.