Skip to main content

I'm new here so I do not know that many formula. I imported my tables from excel and I have it generate name of the product with product name + weight. However, I want the numbers that are generated in 2 digits format. And here is my current formula :

"[90.0]"&" "&{product name}&" "&{weight)}
I tried using Round(), but it didn't help.  
CONCATENATE("[90.0] ",{productname}," ",ROUND({weight},2))
 
This formula does not work either

CONCATENATE("[90.0] ",{productname}," ",ROUND({weight},2))
 
This formula does not work either

Hi,
Please type desired output.
If 2-digit means numbers like 2.1, 1.9 , the number of digits can be set in field settings.


If I understand correctly this should work

{productname}&" "&INT(weight)&"."&RIGHT(""&(weight*100),2)

If I understand correctly this should work

{productname}&" "&INT(weight)&"."&RIGHT(""&(weight*100),2)

I did work for some of it but I don't understand why some of them aren't correct


I did work for some of it but I don't understand why some of them aren't correct


Because some weight values having more digits, despite displaying just two after point, and RIGHT takes last two of them. You can see it by adding more digits in field settings.
Sorry, i didn't understand at first what's wrong with result. In you case, I would insert the dot on a right place

REPLACE(productname&' '&INT(weight*100),

LEN(productname&' '&INT(weight*100))-1,0,'.')




Because some weight values having more digits, despite displaying just two after point, and RIGHT takes last two of them. You can see it by adding more digits in field settings.
Sorry, i didn't understand at first what's wrong with result. In you case, I would insert the dot on a right place

REPLACE(productname&' '&INT(weight*100),

LEN(productname&' '&INT(weight*100))-1,0,'.')




some of it seems correct but still I have problems with the weight 2.30 that is now shown as 2.29 and 1.15 is now shown as 1.14. I don't understand why it did not directly use the number in the weight field


Because some weight values having more digits, despite displaying just two after point, and RIGHT takes last two of them. You can see it by adding more digits in field settings.
Sorry, i didn't understand at first what's wrong with result. In you case, I would insert the dot on a right place

REPLACE(productname&' '&INT(weight*100),

LEN(productname&' '&INT(weight*100))-1,0,'.')




I copied your formula and pasted it, but parts of it still gave incorrect results


I did work for some of it but I don't understand why some of them aren't correct


Or even a bit easier, just apply INT to a second weight value to cut all extra digits after these two 

{productname}&" "&INT(weight)&"."&RIGHT(''&INT(weight*100),2)

I copied your formula and pasted it, but parts of it still gave incorrect results


I tried to use your values and have the same mistake. I suppose it's because 2.30 stored in dataset as smth like 2.29999999999997. a few minutes and I'll find the solution  

UPDATE: it works, when using ROUND instead of INT

{productname}&" "&ROUND(weight)&"."&RIGHT(''&ROUND(weight*100),2)

Or even a bit easier, just apply INT to a second weight value to cut all extra digits after these two 

{productname}&" "&INT(weight)&"."&RIGHT(''&INT(weight*100),2)

I've already tried this one, I had replied to another guy that some numbers are still incorrect. I added more digit in weight field to see if there are numbers behind it, but there isn't any. I tried to contact the support team too, but they havn't answer.

The weird part is that I put the same formula (yours and the other guy's), somehow now it shown different result as previously 2.20 was shown as ....2.03


I tried to use your values and have the same mistake. I suppose it's because 2.30 stored in dataset as smth like 2.29999999999997. a few minutes and I'll find the solution  

UPDATE: it works, when using ROUND instead of INT

{productname}&" "&ROUND(weight)&"."&RIGHT(''&ROUND(weight*100),2)

You're just so INCREDIBLE. THANK YOU


I tried to use your values and have the same mistake. I suppose it's because 2.30 stored in dataset as smth like 2.29999999999997. a few minutes and I'll find the solution  

UPDATE: it works, when using ROUND instead of INT

{productname}&" "&ROUND(weight)&"."&RIGHT(''&ROUND(weight*100),2)

The first weight part has to be INT though, or it will increase the number.

{productname}&" "&INT(weight)&"."&RIGHT(''&ROUND(weight*100),2)

You're just so INCREDIBLE. THANK YOU


You are welcome.
JFYI, extra digits are not visible until the number of digits hits Number type limit

In short, here is the explanation for Integer. I guess, something like this happens with floating point numbers, when you are trying to use text functions on them.


Reply