Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Setting pattern in a script

ReluctantProgrammer
Level 2
Level 2

Along with rounding up I'm trying to set a the pattern of a field in a form based on the number entered.  I.E. if the field is <10 then use 1 decimal; if 10 or greater use 0 decimals. So basically,  if 0.47 is entered it will round to 0.5.  Likewise if 2.84, it would round to 2.8.  But if 10.85 is entered it would round to 11 and 25.83 would round to 26 because both are greater than 10.  Can this be done?

1 Accepted Solution
Kosta_Prokopiu1
Correct answer by
Employee
Employee

Hi, @ReluctantProgrammer 

 

@PulkitJain has shown you a JS function which will modify the value which you would then put into the field.

There is an alternative approach. Assuming that this is an interactive form you use a Numeric Field and then place the following script in the Exit event:


if (this.rawValue <10) {
this.format.picture.value = "num{z,zzz,zz9.9}";
} else {
this.format.picture.value = "num{z,zzz,zz9}";
}

 

This will not change the value, only the display pattern.

Kosta_Prokopiu1_0-1625038691823.png

The result for your numbers:

Kosta_Prokopiu1_2-1625038973540.png

 

 

 

View solution in original post

3 Replies
PulkitJain
Employee
Employee

@ReluctantProgrammer 

You can implement something like below on the field exit event of your form:

function myFunction() {
  var num = [Field Value Input];
  if (num<10)
  {
  var n = num.toFixed(1);
  } else
  { 
var n = num.toFixed(0);
  }

 

Hope this helps!

Kosta_Prokopiu1
Correct answer by
Employee
Employee

Hi, @ReluctantProgrammer 

 

@PulkitJain has shown you a JS function which will modify the value which you would then put into the field.

There is an alternative approach. Assuming that this is an interactive form you use a Numeric Field and then place the following script in the Exit event:


if (this.rawValue <10) {
this.format.picture.value = "num{z,zzz,zz9.9}";
} else {
this.format.picture.value = "num{z,zzz,zz9}";
}

 

This will not change the value, only the display pattern.

Kosta_Prokopiu1_0-1625038691823.png

The result for your numbers:

Kosta_Prokopiu1_2-1625038973540.png

 

 

 

View solution in original post