- Microsoft Power Automate Community
- Welcome to the Community!
- News & Announcements
- Get Help with Power Automate
- General Power Automate Discussion
- Using Connectors
- Building Flows
- Using Flows
- Power Automate Desktop
- Process Advisor
- AI Builder
- Power Automate Mobile App
- Translation Quality Feedback
- Connector Development
- Power Platform Integration - Better Together!
- Power Platform Integrations
- Power Platform and Dynamics 365 Integrations
- Galleries
- Community Connections & How-To Videos
- Webinars and Video Gallery
- Power Automate Cookbook
- Events
- 2021 MSBizAppsSummit Gallery
- 2020 MSBizAppsSummit Gallery
- 2019 MSBizAppsSummit Gallery
- Community Engagement
- Community AMA
- Community Blog
- Power Automate Community Blog
- Community Support
- Community Accounts & Registration
- Using the Community
- Community Feedback

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Microsoft Power Automate Community
- Forums
- Get Help with Power Automate
- Power Automate Desktop
- Re: Thousands separator is changed from dot to com...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

Thousands separator is changed from dot to comma

11-14-2022
01:45 AM

Hi there,

I am scraping revenue data from a website that comes in different formats. The problem is that if I have a number like 200.000 (dot) PAD changes it to 200,000 (comma). If that number is than written to my list I get 200.

For numbers over 1 million I don't have that problem, so I can't just multiply by 1000.

Even if I only set a variable as 200.000, PAD directly shows it as 200,000 in the overview (see attached picture: detail view shows 200.000, overview shows 200,000).

I have already checked my system language but it is set to German and uses a dot as the thousands separator.

Does anyone know how to solve this problem?

Thanks in advance for your help!

16 REPLIES 16

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-14-2022
02:22 AM

Any other situation where I can re-create this scenario?

For me it's showing up the same.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-14-2022
05:15 AM

That's very interesting, thanks for checking this!

No, this is exactly the scenario I am talking about - not knowing the source problem I don't know how to recreate it any other way. I have the hypothesis that it's the language/region settings. I will set my system language to English and try again. Will reply with the result!

Thanks again

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-14-2022
05:57 AM

Okay, so I set my language to english (US) and now I also see the 200.000 instead of the 200,000.

However, when I write this value into an excel file, I still get 200.

Here is the code for a basic test of that:

Excel.LaunchExcel.LaunchUnderExistingProcess Visible: True Instance=> ExcelInstance

SET NewVar TO 200.000

SET NewVar2 TO $'''200.000.000'''

Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: NewVar Column: $'''A''' Row: 1

Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: NewVar2 Column: $'''A''' Row: 2

You can see that it correctly inserts the 2.000.000 but that we get 200 for the 200.000

Any ideas?

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-14-2022
10:40 AM

Hi,

seems that you have one variable type ‚text‘ and the other ‚number‘.

Please try to set to "200.00" for using as text and %200.00% as number.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-14-2022
08:24 PM

*SET NewVar TO 200.000**SET NewVar2 TO $'''200.000.000'''*

One has quotes around it and the other one doesn't so they are going to be treated as text and number respectively.

Even if I manually paste 200.000 into Excel it shows up as 200. This has been an Excel formatting "issue" since many years :). This gets corrected when we change the decimal number format of the cell to 3 digits *after* the data is written to the cell.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-15-2022
01:13 AM

Thank you for your help.

@VJR : If I change the decimal format to 3 digits I only get a two hundred with three zeros after the comma. The real value however is two hundred thousand. The quotes are added automatically by PAD, I have just entered the raw numbers. This shows me that PAD does somehow automatically puts these numbers in different brackets, which is probably the source of the problem.

@Gidi : I can convert the text to number, it becomes 200000 and works with excel! The problem is that it only works for single variables in the same format. As soon as the data is in a list with other data it doesnt work because of the different formats (e.g. of 2.000.000 and 200.000.)

So the core problem remains: The European thousands separator "." is recognized as a decimal separator for numbers under a million. So if I import the number 200.000 (two hundred thousand), PA makes it 200,000 (two hundred) BEFORE it imports it into Excel. However, it recognizes 2.000.000 as 2.000.000 and 2 as 2. Therefore the scraping data is unusable - it is impossible to know if 200 means 200 or 200.000.

I wish there was some setting to change the thousands separator recognition in PAD..

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-15-2022
02:55 AM

Did you also check the decimal/thousand separator settings of Excel?

It is in the Advanced section of the Options menu.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-15-2022
05:27 AM

Thanks for the idea!

Yes, I've even tried to manually set them to "," for decimal values and "." for thousands. Unfortunately it didn't help. I think the problem is that PAD for some reason changes 200.000 to 200,000 so the error occurs before Excel.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-15-2022
05:50 AM

How did you try to convert list? You would need to do it entry by entry as far as I know.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-15-2022
06:38 PM

Hi @Pasta40

Since there are lots of multiple posts with different scenarios can you summarise the issues so that it gives a single view and you can get help from anyone facing with a similar situation.

Something like this....This is just an example. Add your own instances.

Scenario |
What is happening? |
What should happen? |
Any comments? |

When extracted from web into a PAD datatable variable | Shows 200,000 | Should show 200.000 | Works fine when xxx |

When PAD datatable variable is written onto Excel | Shows 200 | Should show 200,000 | |

When extracted from web into a PAD datatable variable | <more than million example here> | ||

When PAD datatable variable is written onto Excel |

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-16-2022
02:19 AM

Hi VJR,

I used your idea but changed it to my understanding of the situation, hope that helps!

__Here is the code to recreate the problem:__

Excel.LaunchExcel.LaunchUnderExistingProcess Visible: True Instance=> ExcelInstance

Variables.CreateNewList List=> List

SET NewVar TO 200.000

SET NewVar2 TO $'''200.000.000'''

Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: NewVar Column: $'''A''' Row: 1

Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: NewVar2 Column: $'''A''' Row: 2

**What worked:**

If I convert the single variable "200,000" from text to number it gave the correct number to excel (200000).

However, in the real scenario I dont have a clean single variable but a table of values including text values such as "not available" and numerical values such as "200" or "2.000.000".

I was hoping to somehow prevent PAD from changing 200.000 to 200,000 without needing a larger workaround.

Hope the situation is clearer now!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-16-2022
03:04 AM

Ok, I could not once again create the issue with the variable (the second in the table screenshot).

However, when I ran your code it pasted 200. (No. 1)

And then when I manually went into Format cells and formatted it to 3 decimal places it changed to 200.000 (No. 2)

Does this work for you in all scenarios? If so, once all values are written to Excel then via a vbscript you can change the formatting of an entire column to 3 decimal places at once.

I meant decimal here, but also see the 1000 separator box below.

Edit: For me it is showing comma as the 1000 separator but it is driven from the Excel options -> Advanced. So make changes there and come back here to see any changes.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-16-2022
03:30 AM

If I understand correctly you propose to format excel to 3 decimal places. In your example it looks like the 200.000 still has a value of "two hundred", because the decimal separator is ".". The real value however was "two hundred thousand" and that's what I need inside the excel.

I don't care if it is a dot or a comma but I need the values to be consistent so i know 200 = 200 and 200000 = 200000.

Thanks for your efforts in helping me with this!

Edit: I changed the thousands separator to "," and the decimal separator to "." and still have the same problem. I think the issue is that PAD pastes "two hundred" not "two hundred thousand" - it seems that the issue is not within excel.

Maybe to clarify the prolem: This is how the list looks that I end up with in excel:

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-16-2022
03:44 AM

What I was referring to is - even though PAD is giving problems but after pasting it into excel and after changing the Formatting options if it is giving the right values we can apply the same easily with the help of a vbscript.

So, ones you have written to Excel try playing around with the decimal places and the separator options and if it works I can share a vbscript of the corresponding fix.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-16-2022
03:50 AM

Okay I understand.

I see as a problem that I don't know if a value was originally 200 or 200000. Therefore formatting all numbers into a visually correct format would not improve the accuracy of the data. (Some data would be displayed as 200000 even though it originally only was 200).

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

11-16-2022
11:06 AM

Well, if I understand your problem correctly than you first need to find out, if your datatable contains text or numbers to react on it.

Also it seems you have a mix of decimal separator to handle.

What about the following Workaround:

Excel.LaunchExcel.LaunchUnderExistingProcess Visible: True Instance=> ExcelInstance

Variables.CreateNewList List=> List

SET NewVar TO 200.000

Variables.AddItemToList Item: NewVar List: List

SET NewVar2 TO $'''200.000.000'''

Variables.AddItemToList Item: NewVar2 List: List

Variables.CreateNewList List=> List2

LOOP FOREACH CurrentItem IN List

SET isnumber TO True

Text.ToNumber Text: CurrentItem Number=> TextAsNumber

ON ERROR

SET isnumber TO False

END

IF isnumber = True THEN

Variables.AddItemToList Item: TextAsNumber List: List2

ELSE

Variables.AddItemToList Item: CurrentItem List: List2

END

END

Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: NewVar Column: $'''A''' Row: 1

Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: NewVar2 Column: $'''A''' Row: 2

Excel.WriteToExcel.WriteCell Instance: ExcelInstance Value: List2 Column: $'''B''' Row: 1