Is it possible to limit a float to 2 decimal place?
Solved! Go to Solution.
Hi @Anonymous
Limit the float variable no, but you can use an action to transform cutting the others decimals places.
The expression to do this is :
if the float value is in a variable :
substring(string(variables('VARIABLE_NAME')),0,add(indexof(string(variables('VARIABLE_NAME')),'.'),3))
also, if is in a action:
substring(actionOutputs('ACTION_NAME'),0,add(indexof(actionOutputs('ACTION_NAME'),'.'),3))
In this fuction the 3 is the count of decimal places plus the dot place.
If you need more help, post here.
Hope Have Helped,
Gustavo Moraes
Gustavo Moraes, o astronauta brasileiro do Flow!
Hi @Anonymous you need to click inside dynamic content to use expression and put that function inside the red square,
like the print below:
OBS: I see the text inside variable is the float value, in the snippet that i post you need to put the Variable Action name, if you have direct value, can remove the literal text "variable"
Best Regards,
Gustvo Moraes
Gustavo Moraes, o astronauta brasileiro do Flow!
Hi @Anonymous
Limit the float variable no, but you can use an action to transform cutting the others decimals places.
The expression to do this is :
if the float value is in a variable :
substring(string(variables('VARIABLE_NAME')),0,add(indexof(string(variables('VARIABLE_NAME')),'.'),3))
also, if is in a action:
substring(actionOutputs('ACTION_NAME'),0,add(indexof(actionOutputs('ACTION_NAME'),'.'),3))
In this fuction the 3 is the count of decimal places plus the dot place.
If you need more help, post here.
Hope Have Helped,
Gustavo Moraes
Gustavo Moraes, o astronauta brasileiro do Flow!
Where do i have to put in that code snipped?
I have a variable as a string.
Thanks
Hi @Anonymous, i recommend you to use a 'Compose' action.
Look the images:
How i did
After yoiu can use this compose to do your flow.
Result
Hope Have Helped,
Gustavo Moraes
Gustavo Moraes, o astronauta brasileiro do Flow!
almost
substring(string(variables('4.68750000000000')),0,add(indexof(string(variables('4.68750000000000')),'.'),3))sub
Hi @Anonymous you need to click inside dynamic content to use expression and put that function inside the red square,
like the print below:
OBS: I see the text inside variable is the float value, in the snippet that i post you need to put the Variable Action name, if you have direct value, can remove the literal text "variable"
Best Regards,
Gustvo Moraes
Gustavo Moraes, o astronauta brasileiro do Flow!
Thank you it works!!!
@gamoraes You are my hero and if you were present I would buy you lunch! THANK YOU!!
Hi,
To overcome the problem of having a decimal number with only one decimal, simply add an insignificant number to it, like 0,00001.
This way you automatically always have more that 2 decimals.
Here is the formula:
substring(string(add(triggerBody()['number'],0.000001)),0,add(indexof(string(add(triggerBody()['number'],0.000001)),'.'),3))
This method does not work if You run numbers like. 390.00 or 290.00. I'm getting results 39 ir 29
Here is my formula:
Hi @LEARN_IT, the problem with your expression is in red, you need to put the length of decimal places(in your case 2)
Gustavo Moraes, o astronauta brasileiro do Flow!
One note here, it may be wise to convert it back into a float by adding float() as the last step of the formula.
float(substring(string(outputs('Get_Running_Total')),0,add(indexof(string(outputs('Get_Running_Total')),'.'),3)))
I posted a solution that rounds a float to hundreths on another thread. The solutions above truncate.
the decimal solution worked for me, BUT do you also have a solution for adding the comma in appropriate places?
Yup. See my post here. My 2nd post on that thread has the more robust, expanded version.
User | Count |
---|---|
89 | |
40 | |
22 | |
20 | |
16 |
User | Count |
---|---|
134 | |
54 | |
47 | |
36 | |
25 |