Rounding numbers | Community
Skip to main content
Christin_Scholz
Level 2
December 2, 2019
Solved

Rounding numbers

  • December 2, 2019
  • 2 replies
  • 4564 views

Hi all,

how can I format a number in lead database like 58.5123434565 into 58,51 within the email?

I want to use it as currency in emails with comma (german way of writing).

I tried with the script token, but apparently it didn't work.

$math.roundTo( x, y )

Can you guys please help me on that? (I'm not a developer )

Best
Christin

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by SanfordWhiteman

You didn't specify banker's rounding or arithmetic rounding.

 

Either way you need a locale-specific format for Germany (de_DE).

 

Banker's rounding is the default mode (note this not a Marketo-specific thing, nor a Velocity thing, but across anything built on the Java foundation):

 

#set( $customFormat = $number.getNumberFormat("${esc.h}${esc.h},${esc.h}${esc.h}${esc.h}.00", $convert.toLocale("de_DE") ) ) banker's: ${customFormat.format($lead.SomeField)}‍‍‍‍‍‍

 

 

If you need arithmetic rounding (if neither you nor your manager is a developer or accountant, you probably meant arithmetic):

 

#set( $customFormat = $number.getNumberFormat("${esc.h}${esc.h},${esc.h}${esc.h}${esc.h}.00", $convert.toLocale("de_DE") ) ) #set( $void = $customFormat.setRoundingMode($field.in($customFormat.getRoundingMode()).HALF_UP) ) arithmetic: ${customFormat.format($lead.SomeField)}‍‍‍‍‍‍‍‍‍

 

 

Update 2019-12-07: please read responses to your threads, it's very frustrating to take time to provide Correct answers and have the thread abandoned.

2 replies

SanfordWhiteman
SanfordWhitemanAccepted solution
Level 10
December 2, 2019

You didn't specify banker's rounding or arithmetic rounding.

 

Either way you need a locale-specific format for Germany (de_DE).

 

Banker's rounding is the default mode (note this not a Marketo-specific thing, nor a Velocity thing, but across anything built on the Java foundation):

 

#set( $customFormat = $number.getNumberFormat("${esc.h}${esc.h},${esc.h}${esc.h}${esc.h}.00", $convert.toLocale("de_DE") ) ) banker's: ${customFormat.format($lead.SomeField)}‍‍‍‍‍‍

 

 

If you need arithmetic rounding (if neither you nor your manager is a developer or accountant, you probably meant arithmetic):

 

#set( $customFormat = $number.getNumberFormat("${esc.h}${esc.h},${esc.h}${esc.h}${esc.h}.00", $convert.toLocale("de_DE") ) ) #set( $void = $customFormat.setRoundingMode($field.in($customFormat.getRoundingMode()).HALF_UP) ) arithmetic: ${customFormat.format($lead.SomeField)}‍‍‍‍‍‍‍‍‍

 

 

Update 2019-12-07: please read responses to your threads, it's very frustrating to take time to provide Correct answers and have the thread abandoned.

SanfordWhiteman
Level 10
December 5, 2019

 please return to your thread. The correct answer was given within hours of your post.

Christin_Scholz
Level 2
December 9, 2019

I'm sorry, I was sick.

Thank you very much for your answer!

SanfordWhiteman
Level 10
December 11, 2019

Thanks for checking back, I appreciate it.