Easier way to change decimal and thousand separators

  • Thread starter Thread starter ElCagle
  • Start date Start date
E

ElCagle

Am translating a French document into English and having to change tons of
decimal separators (##,## into ##.##) and thousand separators (## ### ###,##
into ##,###,###.##).

There has to be an easy way to automate this. My macro knowledge is very
limited, but even with search and replace there has to be an easier way than
1, 2, 3, ... replace 1. 2. 3. ....

Thanks for your help
 
Am translating a French document into English and having to change tons of
decimal separators (##,## into ##.##) and thousand separators (## ### ###,##
into ##,###,###.##).

There has to be an easy way to automate this. My macro knowledge is very
limited, but even with search and replace there has to be an easier way than
1, 2, 3, ... replace 1. 2. 3. ....

Thanks for your help

You can use wildcard replacement
(http://www.gmayor.com/replace_using_wildcards.htm) to do this more easily.

However, you need to do three replacements in order to get it done correctly.
The problem is that if you immediately change all the comma decimal separators
to periods, there won't be any way to tell them apart from the thousand
separators that are periods; if you change all periods in numbers to commas,
that will catch the decimal separators also.

The solution goes like this:

- First change all comma decimal separators to some character that doesn't occur
between digits anywhere else in the document. Let's assume you can use the tilde
(~) for this. So open the Replace dialog, click the More button, and check the
Use Wildcards option. Put this expression in the Find What box:
([0-9]),([0-9])
and put this in the Replace With box:
\1~\2
Click the Replace All button.

- Next change all the period thousand separators to commas. Use this expression
in the Find What (the same as before except change the comma to a period):
([0-9]).([0-9])
and put this in the Replace With box:
\1,\2
Click the Replace All button.

- Finally, change all the tildes to periods. Use this in the Find What:
([0-9])~([0-9])
and put this in the Replace With box:
\1.\2
Click the Replace All button.
 
Jay Freedman said:
You can use wildcard replacement
(http://www.gmayor.com/replace_using_wildcards.htm) to do this more easily.

However, you need to do three replacements in order to get it done correctly.
The problem is that if you immediately change all the comma decimal separators
to periods, there won't be any way to tell them apart from the thousand
separators that are periods; if you change all periods in numbers to commas,
that will catch the decimal separators also.

Hi Jay,

I am not sure I understand, you write: "there won't be any way to tell them
apart from the thousand separators that are periods". But the thousand
separators in French are spaces, and usually, if the document is done right,
unbreakable spaces.

So, you can easily do this in two pases:

([0-9]),([0-9])
\1.\2

and

([0-9])[ ^s]([0-9])
\1,\2
 
Jay Freedman said:
You can use wildcard replacement
(http://www.gmayor.com/replace_using_wildcards.htm) to do this more easily.

However, you need to do three replacements in order to get it done correctly.
The problem is that if you immediately change all the comma decimal separators
to periods, there won't be any way to tell them apart from the thousand
separators that are periods; if you change all periods in numbers to commas,
that will catch the decimal separators also.

Hi Jay,

I am not sure I understand, you write: "there won't be any way to tell them
apart from the thousand separators that are periods". But the thousand
separators in French are spaces, and usually, if the document is done right,
unbreakable spaces.

So, you can easily do this in two pases:

([0-9]),([0-9])
\1.\2

and

([0-9])[ ^s]([0-9])
\1,\2

Thanks, Jean-Guy. Of course you're correct.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top