numberFormat

With this property you can format a float value and display it as you want, for example as a price. It is a wrapper for the number_format() function of PHP.

You can define how many decimals you want and which separators you want for decimals and thousands.

Since the properties are finally used by the PHP function number_format(), you need to make sure that they are valid parameters for that function. Consult the PHP manual, if unsure.

Properties

decimals

decimals
Data type

integer / stdWrap

Default

0

Number of decimals the formatted number will have.

Your input will in that case be rounded up or down to the next integer.

dec_point

dec_point
Data type

string / stdWrap

Default

.

Character that divides the decimals from the rest of the number.

thousands_sep

thousands_sep
Data type

string / stdWrap

Default

,

Character that divides the thousands of the number. Set an empty value to have no thousands separator.

Examples

EXT:site_package/Configuration/TypoScript/setup.typoscript
lib.myPrice = TEXT
lib.myPrice {
  value = 0.8
  stdWrap.numberFormat {
    decimals = 2
    dec_point.cObject = TEXT
    dec_point.cObject {
      value = .
      stdWrap.lang.de = ,
    }
  }
  stdWrap.noTrimWrap = || €|
}
# Will basically result in "0.80 €", but for German in "0,80 €".

lib.carViews = CONTENT
lib.carViews {
    table = tx_mycarext_car
    select.pidInList = 42
    renderObj = TEXT
    renderObj {
        stdWrap.field = views
        # By default use 3 decimals or
        # use the number given by the Get/Post variable precisionLevel, if set.
        stdWrap.numberFormat.decimals = 3
        stdWrap.numberFormat.decimals.override.data = GP:precisionLevel
        stdWrap.numberFormat.dec_point = ,
        stdWrap.numberFormat.thousands_sep = .
    }
}
# Could result in something like "9.586,007".