Skip to main content
Travis_Schwartz
Level 4
February 26, 2020
解決済み

Velocity - Display specific value

  • February 26, 2020
  • 3 の返信
  • 2420 ビュー

So I have this code:

 

#if( $lead.autoPreApprovalNewRate.toString().equals("") ) #set( $lead.autoPreApprovalNewRate = 0 ) $number.number( $math.sub($lead.autoPreApprovalNewRate, "1") ) #end

 

And when there is a value in the

 

$lead.autoPreApprovalNewRate

 

field, this works beautifully. The problem is if they don't have a value, the programing makes sure it's a 0, and the subtraction turns it into -1. I'm sure there is just another #if #else... I'm just not able to figure it out.

 

Thanks. 

このトピックへの返信は締め切られました。
ベストアンサー SanfordWhiteman

Lot of confusing stuff here, and it’s just a few lines of code. 🙂

 

  1. autoPreApprovalNewRate must already be an empty String, so it doesn’t need toString()
  2. it can’t really be working beautifully, because everything is wrapped in the same condition
  3. the second argument to $math.sub should be a Number, you’re just lucky that it’s converting the constant “1" to 1 
  4. $math.sub already converts the result to a Number instance

If your requirement is

 

  • if autoPreApprovalNewRate is the empty string, set the effective rate to 0
  • else set the effective rate to (autoPreApprovalNewRate - 1)

then that's

 

 

#if( $lead.autoPreApprovalNewRate.equals("") ) #set( $outputRate = 0 ) #else #set( $outputRate = $math.sub($lead.autoPreApprovalNewRate, 1) ) #end ${outputRate}

 

 

3 の返信

SanfordWhiteman
Level 10
February 26, 2020

Lot of confusing stuff here, and it’s just a few lines of code. 🙂

 

  1. autoPreApprovalNewRate must already be an empty String, so it doesn’t need toString()
  2. it can’t really be working beautifully, because everything is wrapped in the same condition
  3. the second argument to $math.sub should be a Number, you’re just lucky that it’s converting the constant “1" to 1 
  4. $math.sub already converts the result to a Number instance

If your requirement is

 

  • if autoPreApprovalNewRate is the empty string, set the effective rate to 0
  • else set the effective rate to (autoPreApprovalNewRate - 1)

then that's

 

 

#if( $lead.autoPreApprovalNewRate.equals("") ) #set( $outputRate = 0 ) #else #set( $outputRate = $math.sub($lead.autoPreApprovalNewRate, 1) ) #end ${outputRate}

 

 

SanfordWhiteman
Level 10
February 28, 2020
Travis_Schwartz
Level 4
March 2, 2020

Thanks for your help. Sorry for the delayed response. I didn't get the notification that you had tagged me.